iobroker.telegram-menu 2.2.4 → 2.3.0

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 (274) hide show
  1. package/README.md +12 -0
  2. package/admin/build/index.js +49 -49
  3. package/admin/build/index.js.map +3 -3
  4. package/admin/css/button.css +3 -0
  5. package/admin/css/row-editor.css +1 -1
  6. package/admin/css/style.css +46 -25
  7. package/admin/css/textarea.css +7 -11
  8. package/admin/i18n/de/translations.json +124 -123
  9. package/admin/i18n/en/translations.json +3 -2
  10. package/admin/i18n/es/translations.json +3 -2
  11. package/admin/i18n/fr/translations.json +3 -2
  12. package/admin/i18n/it/translations.json +3 -2
  13. package/admin/i18n/nl/translations.json +3 -2
  14. package/admin/i18n/pl/translations.json +3 -2
  15. package/admin/i18n/pt/translations.json +3 -2
  16. package/admin/i18n/ru/translations.json +3 -2
  17. package/admin/i18n/uk/translations.json +3 -2
  18. package/admin/i18n/zh-cn/translations.json +3 -2
  19. package/admin/words.js +3 -1
  20. package/build/admin/src/config/helper.js +178 -0
  21. package/build/admin/src/config/helper.js.map +1 -0
  22. package/build/admin/src/lib/Utils.js +64 -0
  23. package/build/admin/src/lib/Utils.js.map +1 -0
  24. package/build/admin/src/types/event.js +3 -0
  25. package/build/admin/src/types/event.js.map +1 -0
  26. package/build/app/action.js +270 -0
  27. package/build/app/action.js.map +7 -0
  28. package/build/app/adapterManager.js +36 -0
  29. package/build/app/adapterManager.js.map +7 -0
  30. package/build/app/adapterStartMenuSend.js +59 -0
  31. package/build/app/adapterStartMenuSend.js.map +7 -0
  32. package/build/app/backMenu.js +110 -0
  33. package/build/app/backMenu.js.map +7 -0
  34. package/build/app/botAction.js +47 -0
  35. package/build/app/botAction.js.map +7 -0
  36. package/build/app/configVariables.js +56 -0
  37. package/build/app/configVariables.js.map +7 -0
  38. package/build/app/connection.js +42 -0
  39. package/build/app/connection.js.map +7 -0
  40. package/build/app/createState.js +42 -0
  41. package/build/app/createState.js.map +7 -0
  42. package/build/app/dynamicSwitch.js +69 -0
  43. package/build/app/dynamicSwitch.js.map +7 -0
  44. package/build/app/dynamicSwitchMenu.js +69 -0
  45. package/build/app/dynamicSwitchMenu.js.map +7 -0
  46. package/build/app/dynamicValue.js +80 -0
  47. package/build/app/dynamicValue.js.map +7 -0
  48. package/build/app/echarts.js +60 -0
  49. package/build/app/echarts.js.map +7 -0
  50. package/build/app/getstate.js +148 -0
  51. package/build/app/getstate.js.map +7 -0
  52. package/build/app/global.js +2 -0
  53. package/build/app/global.js.map +7 -0
  54. package/build/app/httpRequest.js +84 -0
  55. package/build/app/httpRequest.js.map +7 -0
  56. package/build/app/jsonTable.js +158 -0
  57. package/build/app/jsonTable.js.map +7 -0
  58. package/build/app/logging.js +46 -0
  59. package/build/app/logging.js.map +7 -0
  60. package/build/app/messageIds.js +116 -0
  61. package/build/app/messageIds.js.map +7 -0
  62. package/build/app/processData.js +198 -0
  63. package/build/app/processData.js.map +7 -0
  64. package/build/app/sendNav.js +49 -0
  65. package/build/app/sendNav.js.map +7 -0
  66. package/build/app/sendpic.js +95 -0
  67. package/build/app/sendpic.js.map +7 -0
  68. package/build/app/sentry.js +43 -0
  69. package/build/app/sentry.js.map +7 -0
  70. package/build/app/setStateIdsToListenTo.js +42 -0
  71. package/build/app/setStateIdsToListenTo.js.map +7 -0
  72. package/build/app/setstate.js +145 -0
  73. package/build/app/setstate.js.map +7 -0
  74. package/build/app/shoppingList.js +97 -0
  75. package/build/app/shoppingList.js.map +7 -0
  76. package/build/app/subMenu.js +281 -0
  77. package/build/app/subMenu.js.map +7 -0
  78. package/build/app/subscribeStates.js +41 -0
  79. package/build/app/subscribeStates.js.map +7 -0
  80. package/build/app/telegram.js +131 -0
  81. package/build/app/telegram.js.map +7 -0
  82. package/build/app/validateMenus.js +64 -0
  83. package/build/app/validateMenus.js.map +7 -0
  84. package/build/build/src/app/action.js +447 -0
  85. package/build/build/src/app/adapterStartMenuSend.js +37 -0
  86. package/build/build/src/app/backMenu.js +70 -0
  87. package/build/build/src/app/botAction.js +25 -0
  88. package/build/build/src/app/connection.js +19 -0
  89. package/build/build/src/app/createState.js +19 -0
  90. package/build/build/src/app/dynamicSwitch.js +51 -0
  91. package/build/build/src/app/dynamicValue.js +64 -0
  92. package/build/build/src/app/echarts.js +45 -0
  93. package/build/build/src/app/getstate.js +157 -0
  94. package/build/build/src/app/global.js +59 -0
  95. package/build/build/src/app/httpRequest.js +64 -0
  96. package/build/build/src/app/jsonTable.js +147 -0
  97. package/build/build/src/app/logging.js +13 -0
  98. package/build/build/src/app/messageIds.js +88 -0
  99. package/build/build/src/app/processData.js +208 -0
  100. package/build/build/src/app/sendNav.js +30 -0
  101. package/build/build/src/app/sendpic.js +69 -0
  102. package/build/build/src/app/setstate.js +126 -0
  103. package/build/build/src/app/shoppingList.js +72 -0
  104. package/build/build/src/app/subMenu.js +361 -0
  105. package/build/build/src/app/subscribeStates.js +25 -0
  106. package/build/build/src/app/telegram.js +101 -0
  107. package/build/build/src/lib/string.js +28 -0
  108. package/build/build/src/lib/time.js +23 -0
  109. package/build/build/src/lib/utilities.js +263 -0
  110. package/build/build/src/lib/utils.js +13 -0
  111. package/build/build/src/main.js +402 -0
  112. package/build/config/config.js +134 -0
  113. package/build/config/config.js.map +7 -0
  114. package/build/io-package.json +87 -87
  115. package/build/lib/action.js +1 -3
  116. package/build/lib/action.js.map +2 -2
  117. package/build/lib/adapterStartMenuSend.js.map +1 -1
  118. package/build/lib/appUtils.js +158 -0
  119. package/build/lib/appUtils.js.map +7 -0
  120. package/build/lib/appUtilsString.js +37 -0
  121. package/build/lib/appUtilsString.js.map +7 -0
  122. package/build/lib/backMenu.js.map +2 -2
  123. package/build/lib/botAction.js.map +1 -1
  124. package/build/lib/dynamicSwitch.js.map +1 -1
  125. package/build/lib/dynamicValue.js.map +1 -1
  126. package/build/lib/echarts.js.map +1 -1
  127. package/build/lib/getstate.js.map +1 -1
  128. package/build/lib/global.js.map +1 -1
  129. package/build/lib/httpRequest.js.map +1 -1
  130. package/build/lib/json.js +54 -0
  131. package/build/lib/json.js.map +7 -0
  132. package/build/lib/jsonTable.js.map +1 -1
  133. package/build/lib/math.js +41 -0
  134. package/build/lib/math.js.map +7 -0
  135. package/build/lib/messageIds.js.map +1 -1
  136. package/build/lib/object.js +35 -0
  137. package/build/lib/object.js.map +7 -0
  138. package/build/lib/processData.js +4 -18
  139. package/build/lib/processData.js.map +3 -3
  140. package/build/lib/sendNav.js.map +1 -1
  141. package/build/lib/sendpic.js +23 -22
  142. package/build/lib/sendpic.js.map +2 -2
  143. package/build/lib/setstate.js.map +1 -1
  144. package/build/lib/shoppingList.js.map +1 -1
  145. package/build/lib/splitValues.js +63 -0
  146. package/build/lib/splitValues.js.map +7 -0
  147. package/build/lib/string.js +125 -3
  148. package/build/lib/string.js.map +2 -2
  149. package/build/lib/subMenu.js +1 -2
  150. package/build/lib/subMenu.js.map +2 -2
  151. package/build/lib/subscribeStates.js.map +1 -1
  152. package/build/lib/telegram.js.map +1 -1
  153. package/build/lib/time.js +93 -0
  154. package/build/lib/time.js.map +7 -0
  155. package/build/lib/utilities.js +84 -281
  156. package/build/lib/utilities.js.map +3 -3
  157. package/build/lib/utils.js +66 -0
  158. package/build/lib/utils.js.map +7 -0
  159. package/build/main.js +151 -233
  160. package/build/main.js.map +3 -3
  161. package/build/src/app/action.js +239 -0
  162. package/build/src/app/action.js.map +1 -0
  163. package/build/src/app/adapterManager.js +12 -0
  164. package/build/src/app/adapterManager.js.map +1 -0
  165. package/build/src/app/adapterStartMenuSend.js +36 -0
  166. package/build/src/app/adapterStartMenuSend.js.map +1 -0
  167. package/build/src/app/backMenu.js +81 -0
  168. package/build/src/app/backMenu.js.map +1 -0
  169. package/build/src/app/botAction.js +25 -0
  170. package/build/src/app/botAction.js.map +1 -0
  171. package/build/src/app/configVariables.js +32 -0
  172. package/build/src/app/configVariables.js.map +1 -0
  173. package/build/src/app/connection.js +20 -0
  174. package/build/src/app/connection.js.map +1 -0
  175. package/build/src/app/createState.js +19 -0
  176. package/build/src/app/createState.js.map +1 -0
  177. package/build/src/app/dynamicSwitch.js +52 -0
  178. package/build/src/app/dynamicSwitch.js.map +1 -0
  179. package/build/src/app/dynamicSwitchMenu.js +52 -0
  180. package/build/src/app/dynamicSwitchMenu.js.map +1 -0
  181. package/build/src/app/dynamicValue.js +52 -0
  182. package/build/src/app/dynamicValue.js.map +1 -0
  183. package/build/src/app/echarts.js +33 -0
  184. package/build/src/app/echarts.js.map +1 -0
  185. package/build/src/app/getstate.js +122 -0
  186. package/build/src/app/getstate.js.map +1 -0
  187. package/build/src/app/global.js +8 -0
  188. package/build/src/app/global.js.map +1 -0
  189. package/build/src/app/httpRequest.js +55 -0
  190. package/build/src/app/httpRequest.js.map +1 -0
  191. package/build/src/app/jsonTable.js +147 -0
  192. package/build/src/app/jsonTable.js.map +1 -0
  193. package/build/src/app/logging.js +22 -0
  194. package/build/src/app/logging.js.map +1 -0
  195. package/build/src/app/messageIds.js +89 -0
  196. package/build/src/app/messageIds.js.map +1 -0
  197. package/build/src/app/processData.js +153 -0
  198. package/build/src/app/processData.js.map +1 -0
  199. package/build/src/app/sendNav.js +26 -0
  200. package/build/src/app/sendNav.js.map +1 -0
  201. package/build/src/app/sendpic.js +66 -0
  202. package/build/src/app/sendpic.js.map +1 -0
  203. package/build/src/app/sentry.js +18 -0
  204. package/build/src/app/sentry.js.map +1 -0
  205. package/build/src/app/setStateIdsToListenTo.js +17 -0
  206. package/build/src/app/setStateIdsToListenTo.js.map +1 -0
  207. package/build/src/app/setstate.js +114 -0
  208. package/build/src/app/setstate.js.map +1 -0
  209. package/build/src/app/shoppingList.js +74 -0
  210. package/build/src/app/shoppingList.js.map +1 -0
  211. package/build/src/app/subMenu.js +237 -0
  212. package/build/src/app/subMenu.js.map +1 -0
  213. package/build/src/app/subscribeStates.js +17 -0
  214. package/build/src/app/subscribeStates.js.map +1 -0
  215. package/build/src/app/telegram.js +83 -0
  216. package/build/src/app/telegram.js.map +1 -0
  217. package/build/src/app/validateMenus.js +30 -0
  218. package/build/src/app/validateMenus.js.map +1 -0
  219. package/build/src/config/config.js +100 -0
  220. package/build/src/config/config.js.map +1 -0
  221. package/build/src/lib/appUtils.js +126 -0
  222. package/build/src/lib/appUtils.js.map +1 -0
  223. package/build/src/lib/appUtilsString.js +13 -0
  224. package/build/src/lib/appUtilsString.js.map +1 -0
  225. package/build/src/lib/json.js +37 -0
  226. package/build/src/lib/json.js.map +1 -0
  227. package/build/src/lib/math.js +17 -0
  228. package/build/src/lib/math.js.map +1 -0
  229. package/build/src/lib/object.js +10 -0
  230. package/build/src/lib/object.js.map +1 -0
  231. package/build/src/lib/splitValues.js +35 -0
  232. package/build/src/lib/splitValues.js.map +1 -0
  233. package/build/src/lib/string.js +121 -0
  234. package/build/src/lib/string.js.map +1 -0
  235. package/build/src/lib/time.js +57 -0
  236. package/build/src/lib/time.js.map +1 -0
  237. package/build/src/lib/utilities.js +111 -0
  238. package/build/src/lib/utilities.js.map +1 -0
  239. package/build/src/lib/utils.js +37 -0
  240. package/build/src/lib/utils.js.map +1 -0
  241. package/build/src/main.js +332 -0
  242. package/build/src/main.js.map +1 -0
  243. package/build/src/test/setup.js +12 -0
  244. package/build/src/test/setup.js.map +1 -0
  245. package/build/src/types/types.js +3 -0
  246. package/build/src/types/types.js.map +1 -0
  247. package/build/test/integration.js +0 -1
  248. package/build/test/integration.js.map +1 -1
  249. package/build/test/mocha.setup.js +0 -1
  250. package/build/test/mocha.setup.js.map +1 -1
  251. package/build/test/package.js +0 -1
  252. package/build/test/package.js.map +1 -1
  253. package/build/test/setup.js +12 -0
  254. package/build/test/setup.js.map +1 -0
  255. package/build/test/test/appUtils.test.js +507 -0
  256. package/build/test/test/appUtils.test.js.map +1 -0
  257. package/build/test/test/appUtilsString.test.js +16 -0
  258. package/build/test/test/appUtilsString.test.js.map +1 -0
  259. package/build/test/test/math.test.js +33 -0
  260. package/build/test/test/math.test.js.map +1 -0
  261. package/build/test/test/object.test.js +54 -0
  262. package/build/test/test/object.test.js.map +1 -0
  263. package/build/test/test/string.test.js +361 -0
  264. package/build/test/test/string.test.js.map +1 -0
  265. package/build/test/test/time.test.js +201 -0
  266. package/build/test/test/time.test.js.map +1 -0
  267. package/build/test/test/utils.test.js +115 -0
  268. package/build/test/test/utils.test.js.map +1 -0
  269. package/build/types/types.js +15 -0
  270. package/build/types/types.js.map +3 -3
  271. package/io-package.json +19 -14
  272. package/package.json +14 -10
  273. package/build/main.test.js +0 -24
  274. package/build/main.test.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/lib/math.ts"],
4
+ "sourcesContent": ["import type { Adapter, EvaluateReturnType } from '../types/types';\nimport { errorLogger } from '../app/logging';\n\nexport function evaluate(val: string | string[], adapter: Adapter): EvaluateReturnType {\n try {\n if (Array.isArray(val)) {\n return { val: eval(val.join(' ')) ?? '', error: false };\n }\n return { val: eval(val), error: false };\n } catch (e: any) {\n errorLogger('Error Eval:', e, adapter);\n return { val: '', error: true };\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAA4B;AAErB,SAAS,SAAS,KAAwB,SAAsC;AAHvF;AAII,MAAI;AACA,QAAI,MAAM,QAAQ,GAAG,GAAG;AACpB,aAAO,EAAE,MAAK,UAAK,IAAI,KAAK,GAAG,CAAC,MAAlB,YAAuB,IAAI,OAAO,MAAM;AAAA,IAC1D;AACA,WAAO,EAAE,KAAK,KAAK,GAAG,GAAG,OAAO,MAAM;AAAA,EAC1C,SAAS,GAAQ;AACb,oCAAY,eAAe,GAAG,OAAO;AACrC,WAAO,EAAE,KAAK,IAAI,OAAO,KAAK;AAAA,EAClC;AACJ;",
6
+ "names": []
7
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/messageIds.ts"],
4
- "sourcesContent": ["import TelegramMenu from '../main';\nimport { deleteMessageByBot } from './botAction';\nimport { error } from './logging';\nimport type { UserListWithChatId, WhatShouldDelete } from './telegram-menu';\nimport { getChatID } from './utilities';\nimport { deepCopy } from './global';\n\ninterface Messages {\n [key: string]: MessageInfos[];\n}\ninterface MessageInfos {\n id: ioBroker.StateValue;\n time?: number;\n request?: ioBroker.StateValue | null | undefined;\n}\nlet isDeleting = false;\nasync function saveMessageIds(state: ioBroker.State, instanceTelegram: string): Promise<void> {\n const _this = TelegramMenu.getInstance();\n try {\n let requestMessageId: Messages = {};\n let requestMessageIdObj: ioBroker.State | null | undefined = null;\n if (!isDeleting) {\n requestMessageIdObj = await _this.getStateAsync('communication.requestIds');\n }\n isDeleting = false;\n const requestUserIdObj = await _this.getForeignStateAsync(`${instanceTelegram}.communicate.requestChatId`);\n\n const request = await _this.getForeignStateAsync(`${instanceTelegram}.communicate.request`);\n\n if (!(requestUserIdObj && requestUserIdObj.val)) {\n return;\n }\n\n requestMessageId = requestMessageIdObj?.val ? JSON.parse(requestMessageIdObj?.val.toString()) : {};\n\n if (!requestMessageId[requestUserIdObj.val.toString()]) {\n requestMessageId[requestUserIdObj.val.toString()] = [];\n }\n\n if (!requestMessageId[requestUserIdObj.val.toString()]?.find(message => message.id === state.val)) {\n requestMessageId[requestUserIdObj.val.toString()].push({\n id: state.val,\n time: Date.now(),\n request: request?.val,\n });\n }\n\n requestMessageId = removeOldMessageIds(requestMessageId, requestUserIdObj.val.toString());\n await _this.setState('communication.requestIds', JSON.stringify(requestMessageId), true);\n } catch (e: any) {\n error([\n { text: 'Error saveMessageIds:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\nfunction removeOldMessageIds(messages: Messages, chatID: string): Messages {\n messages[chatID] = messages[chatID].filter(message => {\n return message.time && message.time > Date.now() - 1000 * 60 * 60 * 24 * 2;\n });\n return messages;\n}\n\nconst removeMessageFromList = ({\n element,\n chat_id,\n copyMessageIds,\n}: {\n element: any;\n chat_id: string;\n copyMessageIds: Messages;\n}): MessageInfos[] => {\n return copyMessageIds[chat_id].filter(message => message.id !== element.id);\n};\n\nasync function deleteMessageIds(\n user: string,\n userListWithChatID: UserListWithChatId[],\n instanceTelegram: string,\n whatShouldDelete: WhatShouldDelete,\n): Promise<void> {\n const _this = TelegramMenu.getInstance();\n try {\n const requestMessageIdObj = await _this.getStateAsync('communication.requestIds');\n const lastMessageId = await _this.getForeignStateAsync(`${instanceTelegram}.communicate.requestMessageId`);\n\n if (\n !requestMessageIdObj ||\n typeof requestMessageIdObj.val !== 'string' ||\n !JSON.parse(requestMessageIdObj.val)\n ) {\n return;\n }\n\n const chat_id = getChatID(userListWithChatID, user);\n const messageIds: Messages = JSON.parse(requestMessageIdObj.val);\n\n if (lastMessageId && lastMessageId.val) {\n messageIds[chat_id].push({ id: lastMessageId.val.toString() });\n }\n\n isDeleting = true;\n const copyMessageIds = deepCopy(messageIds);\n messageIds[chat_id].forEach((element, index) => {\n if (whatShouldDelete === 'all' && element.id) {\n deleteMessageByBot(\n instanceTelegram,\n user,\n userListWithChatID,\n parseInt(element.id?.toString()),\n chat_id,\n );\n }\n if (whatShouldDelete === 'last' && index === messageIds[chat_id].length - 1 && element.id) {\n deleteMessageByBot(\n instanceTelegram,\n user,\n userListWithChatID,\n parseInt(element.id?.toString()),\n chat_id,\n );\n }\n if (!copyMessageIds) {\n return;\n }\n copyMessageIds[chat_id] = removeMessageFromList({ element, chat_id, copyMessageIds });\n });\n\n await _this.setState('communication.requestIds', JSON.stringify(copyMessageIds), true);\n } catch (e: any) {\n error([\n { text: 'Error deleteMessageIds:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { deleteMessageIds, saveMessageIds };\n"],
4
+ "sourcesContent": ["import TelegramMenu from '../main';\nimport { deleteMessageByBot } from './botAction';\nimport { error } from './logging';\nimport type { UserListWithChatId, WhatShouldDelete } from '../types/types';\nimport { getChatID } from './utilities';\nimport { deepCopy } from './global';\n\ninterface Messages {\n [key: string]: MessageInfos[];\n}\ninterface MessageInfos {\n id: ioBroker.StateValue;\n time?: number;\n request?: ioBroker.StateValue | null | undefined;\n}\nlet isDeleting = false;\nasync function saveMessageIds(state: ioBroker.State, instanceTelegram: string): Promise<void> {\n const _this = TelegramMenu.getInstance();\n try {\n let requestMessageId: Messages = {};\n let requestMessageIdObj: ioBroker.State | null | undefined = null;\n if (!isDeleting) {\n requestMessageIdObj = await _this.getStateAsync('communication.requestIds');\n }\n isDeleting = false;\n const requestUserIdObj = await _this.getForeignStateAsync(`${instanceTelegram}.communicate.requestChatId`);\n\n const request = await _this.getForeignStateAsync(`${instanceTelegram}.communicate.request`);\n\n if (!(requestUserIdObj && requestUserIdObj.val)) {\n return;\n }\n\n requestMessageId = requestMessageIdObj?.val ? JSON.parse(requestMessageIdObj?.val.toString()) : {};\n\n if (!requestMessageId[requestUserIdObj.val.toString()]) {\n requestMessageId[requestUserIdObj.val.toString()] = [];\n }\n\n if (!requestMessageId[requestUserIdObj.val.toString()]?.find(message => message.id === state.val)) {\n requestMessageId[requestUserIdObj.val.toString()].push({\n id: state.val,\n time: Date.now(),\n request: request?.val,\n });\n }\n\n requestMessageId = removeOldMessageIds(requestMessageId, requestUserIdObj.val.toString());\n await _this.setState('communication.requestIds', JSON.stringify(requestMessageId), true);\n } catch (e: any) {\n error([\n { text: 'Error saveMessageIds:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\nfunction removeOldMessageIds(messages: Messages, chatID: string): Messages {\n messages[chatID] = messages[chatID].filter(message => {\n return message.time && message.time > Date.now() - 1000 * 60 * 60 * 24 * 2;\n });\n return messages;\n}\n\nconst removeMessageFromList = ({\n element,\n chat_id,\n copyMessageIds,\n}: {\n element: any;\n chat_id: string;\n copyMessageIds: Messages;\n}): MessageInfos[] => {\n return copyMessageIds[chat_id].filter(message => message.id !== element.id);\n};\n\nasync function deleteMessageIds(\n user: string,\n userListWithChatID: UserListWithChatId[],\n instanceTelegram: string,\n whatShouldDelete: WhatShouldDelete,\n): Promise<void> {\n const _this = TelegramMenu.getInstance();\n try {\n const requestMessageIdObj = await _this.getStateAsync('communication.requestIds');\n const lastMessageId = await _this.getForeignStateAsync(`${instanceTelegram}.communicate.requestMessageId`);\n\n if (\n !requestMessageIdObj ||\n typeof requestMessageIdObj.val !== 'string' ||\n !JSON.parse(requestMessageIdObj.val)\n ) {\n return;\n }\n\n const chat_id = getChatID(userListWithChatID, user);\n const messageIds: Messages = JSON.parse(requestMessageIdObj.val);\n\n if (lastMessageId && lastMessageId.val) {\n messageIds[chat_id].push({ id: lastMessageId.val.toString() });\n }\n\n isDeleting = true;\n const copyMessageIds = deepCopy(messageIds);\n messageIds[chat_id].forEach((element, index) => {\n if (whatShouldDelete === 'all' && element.id) {\n deleteMessageByBot(\n instanceTelegram,\n user,\n userListWithChatID,\n parseInt(element.id?.toString()),\n chat_id,\n );\n }\n if (whatShouldDelete === 'last' && index === messageIds[chat_id].length - 1 && element.id) {\n deleteMessageByBot(\n instanceTelegram,\n user,\n userListWithChatID,\n parseInt(element.id?.toString()),\n chat_id,\n );\n }\n if (!copyMessageIds) {\n return;\n }\n copyMessageIds[chat_id] = removeMessageFromList({ element, chat_id, copyMessageIds });\n });\n\n await _this.setState('communication.requestIds', JSON.stringify(copyMessageIds), true);\n } catch (e: any) {\n error([\n { text: 'Error deleteMessageIds:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { deleteMessageIds, saveMessageIds };\n"],
5
5
  "mappings": "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",
6
6
  "names": ["TelegramMenu"]
7
7
  }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var object_exports = {};
20
+ __export(object_exports, {
21
+ removeDuplicates: () => removeDuplicates,
22
+ setStateIdsToIdArray: () => setStateIdsToIdArray,
23
+ trimAllItems: () => trimAllItems
24
+ });
25
+ module.exports = __toCommonJS(object_exports);
26
+ const removeDuplicates = (arr) => arr.filter((item, index) => arr.indexOf(item) === index);
27
+ const trimAllItems = (array) => array.map((item) => item.trim());
28
+ const setStateIdsToIdArray = (setStateIds) => setStateIds.map((obj) => obj.id);
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ removeDuplicates,
32
+ setStateIdsToIdArray,
33
+ trimAllItems
34
+ });
35
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/lib/object.ts"],
4
+ "sourcesContent": ["import type { SetStateIds } from '../types/types';\n\nexport const removeDuplicates = (arr: string[]): string[] => arr.filter((item, index) => arr.indexOf(item) === index);\n\nexport const trimAllItems = (array: string[]): string[] => array.map(item => item.trim());\n\nexport const setStateIdsToIdArray = (setStateIds: SetStateIds[]): string[] => setStateIds.map(obj => obj.id);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,mBAAmB,CAAC,QAA4B,IAAI,OAAO,CAAC,MAAM,UAAU,IAAI,QAAQ,IAAI,MAAM,KAAK;AAE7G,MAAM,eAAe,CAAC,UAA8B,MAAM,IAAI,UAAQ,KAAK,KAAK,CAAC;AAEjF,MAAM,uBAAuB,CAAC,gBAAyC,YAAY,IAAI,SAAO,IAAI,EAAE;",
6
+ "names": []
7
+ }
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
  var processData_exports = {};
30
20
  __export(processData_exports, {
@@ -33,7 +23,7 @@ __export(processData_exports, {
33
23
  getTimeouts: () => getTimeouts
34
24
  });
35
25
  module.exports = __toCommonJS(processData_exports);
36
- var import_main = __toESM(require("../main"));
26
+ var import_main = require("../main");
37
27
  var import_telegram = require("./telegram");
38
28
  var import_sendNav = require("./sendNav");
39
29
  var import_subMenu = require("./subMenu");
@@ -64,7 +54,6 @@ async function checkEveryMenuForData(obj) {
64
54
  directoryPicture,
65
55
  timeoutKey
66
56
  } = obj;
67
- const _this = import_main.default.getInstance();
68
57
  for (const menu of menus) {
69
58
  const groupData = menuData.data[menu];
70
59
  (0, import_logging.debug)([
@@ -73,7 +62,6 @@ async function checkEveryMenuForData(obj) {
73
62
  { text: "Group:", val: menuData.data[menu] }
74
63
  ]);
75
64
  if (await processData({
76
- _this,
77
65
  menuData,
78
66
  calledValue,
79
67
  userToSend,
@@ -90,8 +78,7 @@ async function checkEveryMenuForData(obj) {
90
78
  timeoutKey,
91
79
  groupData
92
80
  })) {
93
- (0, import_logging.debug)([{ text: "CalledText found" }]);
94
- (0, import_logging.debug)([{ text: "CalledText found" }]);
81
+ import_main._this.log.debug("CalledText found");
95
82
  return true;
96
83
  }
97
84
  }
@@ -99,7 +86,6 @@ async function checkEveryMenuForData(obj) {
99
86
  }
100
87
  async function processData(obj) {
101
88
  const {
102
- _this,
103
89
  menuData,
104
90
  calledValue,
105
91
  userToSend,
@@ -127,8 +113,8 @@ async function processData(obj) {
127
113
  } else {
128
114
  valueToSet = calledValue;
129
115
  }
130
- if (valueToSet) {
131
- await _this.setForeignStateAsync(res == null ? void 0 : res.id, valueToSet, res == null ? void 0 : res.ack);
116
+ if (valueToSet && (res == null ? void 0 : res.id)) {
117
+ await import_main._this.setForeignStateAsync(res == null ? void 0 : res.id, valueToSet, res == null ? void 0 : res.ack);
132
118
  } else {
133
119
  await (0, import_telegram.sendToTelegram)({
134
120
  user: userToSend,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/processData.ts"],
4
- "sourcesContent": ["import TelegramMenu from '../main';\nimport { sendLocationToTelegram, sendToTelegram } from './telegram';\nimport { sendNav } from './sendNav';\nimport { callSubMenu } from './subMenu';\nimport { backMenuFunc, switchBack } from './backMenu';\nimport { setState } from './setstate';\nimport { getState } from './getstate';\nimport { sendPic } from './sendpic';\nimport { getDynamicValue, removeUserFromDynamicValue } from './dynamicValue';\nimport { adjustValueType } from './action';\nimport { _subscribeAndUnSubscribeForeignStatesAsync } from './subscribeStates';\nimport { getChart } from './echarts';\nimport { httpRequest } from './httpRequest';\nimport { debug, error } from './logging';\nimport type {\n CheckEveryMenuForDataType,\n IsUserActiveCheckbox,\n MenuData,\n NewObjectNavStructure,\n Part,\n ProcessDataType,\n SetStateIds,\n Timeouts,\n} from './telegram-menu';\n\nlet setStateIdsToListenTo: SetStateIds[] = [];\nlet timeouts: Timeouts[] = [];\n\nasync function checkEveryMenuForData(obj: CheckEveryMenuForDataType): Promise<boolean> {\n const {\n menuData,\n calledValue,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n } = obj;\n const _this = TelegramMenu.getInstance();\n for (const menu of menus) {\n const groupData: NewObjectNavStructure = menuData.data[menu];\n debug([\n { text: 'Nav:', val: menuData.data[menu] },\n { text: 'Menu:', val: menu },\n { text: 'Group:', val: menuData.data[menu] },\n ]);\n\n if (\n await processData({\n _this,\n menuData,\n calledValue,\n userToSend,\n groupWithUser: menu,\n instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID,\n allMenusWithData: menuData.data,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n groupData,\n })\n ) {\n debug([{ text: 'CalledText found' }]);\n //TODO - Remove\n debug([{ text: 'CalledText found' }]);\n return true;\n }\n }\n return false;\n}\n\nasync function processData(obj: ProcessDataType): Promise<boolean | undefined> {\n const {\n _this,\n menuData,\n calledValue,\n userToSend,\n groupWithUser,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n allMenusWithData,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n groupData,\n } = obj;\n try {\n let part: Part = {} as Part;\n let call: keyof NewObjectNavStructure = '';\n\n if (getDynamicValue(userToSend)) {\n const res = getDynamicValue(userToSend);\n let valueToSet;\n if (res && res.valueType) {\n valueToSet = adjustValueType(calledValue, res.valueType);\n } else {\n valueToSet = calledValue;\n }\n if (valueToSet) {\n await _this.setForeignStateAsync(res?.id, valueToSet, res?.ack);\n } else {\n await sendToTelegram({\n user: userToSend,\n textToSend: `You insert a wrong Type of value, please insert type: ${res?.valueType}`,\n keyboard: undefined,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: 'false',\n });\n }\n removeUserFromDynamicValue(userToSend);\n const result = await switchBack(userToSend, allMenusWithData, menus, true);\n\n if (result) {\n await sendToTelegram({\n user: userToSend,\n textToSend: result.texttosend || '',\n keyboard: result.menuToSend,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: result.parseMode,\n });\n } else {\n await sendNav(\n part,\n userToSend,\n instanceTelegram,\n userListWithChatID,\n resize_keyboard,\n one_time_keyboard,\n );\n }\n return true;\n }\n if (calledValue.includes('menu:')) {\n call = calledValue.split(':')[2] as keyof MenuData;\n } else {\n call = calledValue as keyof NewObjectNavStructure;\n }\n part = groupData[call];\n\n if (\n typeof call === 'string' &&\n groupData &&\n part &&\n !calledValue.toString().includes('menu:') &&\n userToSend &&\n groupWithUser &&\n isUserActiveCheckbox[groupWithUser as keyof IsUserActiveCheckbox]\n ) {\n if (part.nav) {\n debug([{ text: 'Menu to Send:', val: part.nav }]);\n\n backMenuFunc(call, part.nav, userToSend);\n\n if (JSON.stringify(part.nav).includes('menu:')) {\n debug([{ text: 'Submenu' }]);\n const result = await callSubMenu(\n JSON.stringify(part.nav),\n groupData,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n allMenusWithData,\n menus,\n setStateIdsToListenTo,\n part.nav,\n );\n if (result && result.setStateIdsToListenTo) {\n setStateIdsToListenTo = result.setStateIdsToListenTo;\n }\n if (result && result.newNav) {\n await checkEveryMenuForData({\n menuData,\n calledValue: result.newNav,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n });\n }\n } else {\n await sendNav(\n part,\n userToSend,\n instanceTelegram,\n userListWithChatID,\n resize_keyboard,\n one_time_keyboard,\n );\n }\n return true;\n }\n\n if (part.switch) {\n const result = await setState(\n part,\n userToSend,\n 0,\n false,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n );\n if (result) {\n setStateIdsToListenTo = result;\n }\n if (Array.isArray(setStateIdsToListenTo)) {\n await _subscribeAndUnSubscribeForeignStatesAsync({ array: setStateIdsToListenTo });\n }\n return true;\n }\n if (part.getData) {\n getState(part, userToSend, instanceTelegram, one_time_keyboard, resize_keyboard, userListWithChatID);\n return true;\n }\n if (part.sendPic) {\n const result = sendPic(\n part,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n token,\n directoryPicture,\n timeouts,\n timeoutKey,\n );\n if (result) {\n timeouts = result;\n } else {\n debug([{ text: 'Timeouts not found' }]);\n }\n return true;\n }\n if (part.location) {\n debug([{ text: 'Send Location' }]);\n await sendLocationToTelegram(userToSend, part.location, instanceTelegram, userListWithChatID);\n return true;\n }\n if (part.echarts) {\n debug([{ text: 'Echarts' }]);\n getChart(\n part.echarts,\n directoryPicture,\n userToSend,\n instanceTelegram,\n userListWithChatID,\n resize_keyboard,\n one_time_keyboard,\n );\n return true;\n }\n if (part.httpRequest) {\n debug([{ text: 'HttpRequest' }]);\n const result = await httpRequest(\n part,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n directoryPicture,\n );\n if (result) {\n return true;\n }\n }\n }\n if (\n (calledValue.startsWith('menu') || calledValue.startsWith('submenu')) &&\n menuData.data[groupWithUser][call]\n ) {\n debug([{ text: 'Call Submenu' }]);\n const result = await callSubMenu(\n calledValue,\n menuData,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n allMenusWithData,\n menus,\n setStateIdsToListenTo,\n part.nav,\n );\n if (result && result.setStateIdsToListenTo) {\n setStateIdsToListenTo = result.setStateIdsToListenTo;\n }\n return true;\n }\n return false;\n } catch (e: any) {\n error([\n { text: 'Error processData:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nfunction getStateIdsToListenTo(): SetStateIds[] {\n return setStateIdsToListenTo;\n}\n\nfunction getTimeouts(): Timeouts[] {\n return timeouts;\n}\n\nexport { getStateIdsToListenTo, getTimeouts, checkEveryMenuForData };\n"],
5
- "mappings": "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",
6
- "names": ["TelegramMenu"]
4
+ "sourcesContent": ["import { _this } from '../main';\nimport { sendLocationToTelegram, sendToTelegram } from './telegram';\nimport { sendNav } from './sendNav';\nimport { callSubMenu } from './subMenu';\nimport { backMenuFunc, switchBack } from './backMenu';\nimport { setState } from './setstate';\nimport { getState } from './getstate';\nimport { sendPic } from './sendpic';\nimport { getDynamicValue, removeUserFromDynamicValue } from './dynamicValue';\nimport { adjustValueType } from './action';\nimport { _subscribeAndUnSubscribeForeignStatesAsync } from './subscribeStates';\nimport { getChart } from './echarts';\nimport { httpRequest } from './httpRequest';\nimport { debug, error } from './logging';\nimport type {\n CheckEveryMenuForDataType,\n IsUserActiveCheckbox,\n MenuData,\n NewObjectNavStructure,\n Part,\n ProcessDataType,\n SetStateIds,\n Timeouts,\n} from '../types/types';\n\nlet setStateIdsToListenTo: SetStateIds[] = [];\nlet timeouts: Timeouts[] = [];\n\nasync function checkEveryMenuForData(obj: CheckEveryMenuForDataType): Promise<boolean> {\n const {\n menuData,\n calledValue,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n } = obj;\n\n for (const menu of menus) {\n const groupData: NewObjectNavStructure = menuData.data[menu];\n debug([\n { text: 'Nav:', val: menuData.data[menu] },\n { text: 'Menu:', val: menu },\n { text: 'Group:', val: menuData.data[menu] },\n ]);\n\n if (\n await processData({\n menuData,\n calledValue,\n userToSend,\n groupWithUser: menu,\n instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID,\n allMenusWithData: menuData.data,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n groupData,\n })\n ) {\n _this.log.debug('CalledText found');\n return true;\n }\n }\n return false;\n}\n\nasync function processData(obj: ProcessDataType): Promise<boolean | undefined> {\n const {\n menuData,\n calledValue,\n userToSend,\n groupWithUser,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n allMenusWithData,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n groupData,\n } = obj;\n try {\n let part: Part = {} as Part;\n let call: keyof NewObjectNavStructure = '';\n\n if (getDynamicValue(userToSend)) {\n const res = getDynamicValue(userToSend);\n let valueToSet;\n if (res && res.valueType) {\n valueToSet = adjustValueType(calledValue, res.valueType);\n } else {\n valueToSet = calledValue;\n }\n if (valueToSet && res?.id) {\n await _this.setForeignStateAsync(res?.id, valueToSet, res?.ack);\n } else {\n await sendToTelegram({\n user: userToSend,\n textToSend: `You insert a wrong Type of value, please insert type: ${res?.valueType}`,\n keyboard: undefined,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: 'false',\n });\n }\n removeUserFromDynamicValue(userToSend);\n const result = await switchBack(userToSend, allMenusWithData, menus, true);\n\n if (result) {\n await sendToTelegram({\n user: userToSend,\n textToSend: result.texttosend || '',\n keyboard: result.menuToSend,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: result.parseMode,\n });\n } else {\n await sendNav(\n part,\n userToSend,\n instanceTelegram,\n userListWithChatID,\n resize_keyboard,\n one_time_keyboard,\n );\n }\n return true;\n }\n if (calledValue.includes('menu:')) {\n call = calledValue.split(':')[2] as keyof MenuData;\n } else {\n call = calledValue as keyof NewObjectNavStructure;\n }\n part = groupData[call];\n\n if (\n typeof call === 'string' &&\n groupData &&\n part &&\n !calledValue.toString().includes('menu:') &&\n userToSend &&\n groupWithUser &&\n isUserActiveCheckbox[groupWithUser as keyof IsUserActiveCheckbox]\n ) {\n if (part.nav) {\n debug([{ text: 'Menu to Send:', val: part.nav }]);\n\n backMenuFunc(call, part.nav, userToSend);\n\n if (JSON.stringify(part.nav).includes('menu:')) {\n debug([{ text: 'Submenu' }]);\n const result = await callSubMenu(\n JSON.stringify(part.nav),\n groupData,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n allMenusWithData,\n menus,\n setStateIdsToListenTo,\n part.nav,\n );\n if (result && result.setStateIdsToListenTo) {\n setStateIdsToListenTo = result.setStateIdsToListenTo;\n }\n if (result && result.newNav) {\n await checkEveryMenuForData({\n menuData,\n calledValue: result.newNav,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n menus,\n isUserActiveCheckbox,\n token,\n directoryPicture,\n timeoutKey,\n });\n }\n } else {\n await sendNav(\n part,\n userToSend,\n instanceTelegram,\n userListWithChatID,\n resize_keyboard,\n one_time_keyboard,\n );\n }\n return true;\n }\n\n if (part.switch) {\n const result = await setState(\n part,\n userToSend,\n 0,\n false,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n );\n if (result) {\n setStateIdsToListenTo = result;\n }\n if (Array.isArray(setStateIdsToListenTo)) {\n await _subscribeAndUnSubscribeForeignStatesAsync({ array: setStateIdsToListenTo });\n }\n return true;\n }\n if (part.getData) {\n getState(part, userToSend, instanceTelegram, one_time_keyboard, resize_keyboard, userListWithChatID);\n return true;\n }\n if (part.sendPic) {\n const result = sendPic(\n part,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n token,\n directoryPicture,\n timeouts,\n timeoutKey,\n );\n if (result) {\n timeouts = result;\n } else {\n debug([{ text: 'Timeouts not found' }]);\n }\n return true;\n }\n if (part.location) {\n debug([{ text: 'Send Location' }]);\n await sendLocationToTelegram(userToSend, part.location, instanceTelegram, userListWithChatID);\n return true;\n }\n if (part.echarts) {\n debug([{ text: 'Echarts' }]);\n getChart(\n part.echarts,\n directoryPicture,\n userToSend,\n instanceTelegram,\n userListWithChatID,\n resize_keyboard,\n one_time_keyboard,\n );\n return true;\n }\n if (part.httpRequest) {\n debug([{ text: 'HttpRequest' }]);\n const result = await httpRequest(\n part,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n directoryPicture,\n );\n if (result) {\n return true;\n }\n }\n }\n if (\n (calledValue.startsWith('menu') || calledValue.startsWith('submenu')) &&\n menuData.data[groupWithUser][call]\n ) {\n debug([{ text: 'Call Submenu' }]);\n const result = await callSubMenu(\n calledValue,\n menuData,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n allMenusWithData,\n menus,\n setStateIdsToListenTo,\n part.nav,\n );\n if (result && result.setStateIdsToListenTo) {\n setStateIdsToListenTo = result.setStateIdsToListenTo;\n }\n return true;\n }\n return false;\n } catch (e: any) {\n error([\n { text: 'Error processData:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nfunction getStateIdsToListenTo(): SetStateIds[] {\n return setStateIdsToListenTo;\n}\n\nfunction getTimeouts(): Timeouts[] {\n return timeouts;\n}\n\nexport { getStateIdsToListenTo, getTimeouts, checkEveryMenuForData };\n"],
5
+ "mappings": "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",
6
+ "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/sendNav.ts"],
4
- "sourcesContent": ["import { error } from 'console';\nimport { debug } from './logging';\nimport { sendToTelegram } from './telegram';\nimport { checkStatusInfo } from './utilities';\nimport type { Part, UserListWithChatId } from './telegram-menu';\n\nasync function sendNav(\n part: Part,\n userToSend: string,\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n): Promise<void> {\n try {\n if (userToSend) {\n debug([{ text: 'Send Nav to Telegram' }]);\n const nav = part.nav;\n const text = await checkStatusInfo(part.text as string);\n\n await sendToTelegram({\n user: userToSend,\n textToSend: text as string,\n keyboard: nav,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: part.parse_mode || 'false',\n });\n }\n } catch (e: any) {\n error([\n { text: 'Error sendNav:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { sendNav };\n"],
4
+ "sourcesContent": ["import { error } from 'console';\nimport { debug } from './logging';\nimport { sendToTelegram } from './telegram';\nimport { checkStatusInfo } from './utilities';\nimport type { Part, UserListWithChatId } from '../types/types';\n\nasync function sendNav(\n part: Part,\n userToSend: string,\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n): Promise<void> {\n try {\n if (userToSend) {\n debug([{ text: 'Send Nav to Telegram' }]);\n const nav = part.nav;\n const text = await checkStatusInfo(part.text as string);\n\n await sendToTelegram({\n user: userToSend,\n textToSend: text as string,\n keyboard: nav,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: part.parse_mode || 'false',\n });\n }\n } catch (e: any) {\n error([\n { text: 'Error sendNav:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { sendNav };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAsB;AACtB,qBAAsB;AACtB,sBAA+B;AAC/B,uBAAgC;AAGhC,eAAe,QACX,MACA,YACA,kBACA,oBACA,iBACA,mBACa;AACb,MAAI;AACA,QAAI,YAAY;AACZ,gCAAM,CAAC,EAAE,MAAM,uBAAuB,CAAC,CAAC;AACxC,YAAM,MAAM,KAAK;AACjB,YAAM,OAAO,UAAM,kCAAgB,KAAK,IAAc;AAEtD,gBAAM,gCAAe;AAAA,QACjB,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,YAAY,KAAK,cAAc;AAAA,MACnC,CAAC;AAAA,IACL;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,kBAAkB,KAAK,EAAE,QAAQ;AAAA,MACzC,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
6
6
  "names": []
7
7
  }
@@ -32,11 +32,10 @@ __export(sendpic_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(sendpic_exports);
34
34
  var import_telegram = require("./telegram");
35
- var import_utilities = require("./utilities");
35
+ var import_global = require("./global");
36
36
  var import_child_process = require("child_process");
37
37
  var import_logging = require("./logging");
38
38
  var import_main = __toESM(require("../main"));
39
- var import_global = require("./global");
40
39
  function sendPic(part, userToSend, instanceTelegram, resize_keyboard, one_time_keyboard, userListWithChatID, token, directoryPicture, timeouts, timeoutKey) {
41
40
  var _a;
42
41
  try {
@@ -45,7 +44,7 @@ function sendPic(part, userToSend, instanceTelegram, resize_keyboard, one_time_k
45
44
  let path = "";
46
45
  if (element.id != "-") {
47
46
  const url = element.id;
48
- const newUrl = (0, import_utilities.replaceAll)(url, "&amp;", "&");
47
+ const newUrl = (0, import_global.replaceAll)(url, "&amp;", "&");
49
48
  (0, import_child_process.exec)(
50
49
  `curl -H "Autorisation: Bearer ${token.trim()}" "${newUrl}" > ${directoryPicture}${element.fileName}`,
51
50
  (error2, stdout, stderr) => {
@@ -71,25 +70,27 @@ function sendPic(part, userToSend, instanceTelegram, resize_keyboard, one_time_k
71
70
  } else {
72
71
  return;
73
72
  }
74
- const timeout = _this.setTimeout(async () => {
75
- await (0, import_telegram.sendToTelegram)({
76
- user: userToSend,
77
- textToSend: path,
78
- keyboard: void 0,
79
- instance: instanceTelegram,
80
- resize_keyboard,
81
- one_time_keyboard,
82
- userListWithChatID,
83
- parse_mode: "false"
84
- });
85
- let timeoutToClear = [];
86
- timeoutToClear = timeouts.filter((item) => item.key == timeoutKey);
87
- timeoutToClear.forEach((item) => {
88
- clearTimeout(item.timeout);
89
- });
90
- timeouts = timeouts.filter((item) => item.key !== timeoutKey);
91
- (0, import_logging.debug)([{ text: "Picture sent" }]);
92
- }, parseInt(element.delay));
73
+ const timeout = _this.setTimeout(
74
+ async () => {
75
+ await (0, import_telegram.sendToTelegram)({
76
+ user: userToSend,
77
+ textToSend: path,
78
+ instance: instanceTelegram,
79
+ resize_keyboard,
80
+ one_time_keyboard,
81
+ userListWithChatID,
82
+ parse_mode: "false"
83
+ });
84
+ let timeoutToClear = [];
85
+ timeoutToClear = timeouts.filter((item) => item.key == timeoutKey);
86
+ timeoutToClear.forEach((item) => {
87
+ _this.clearTimeout(item.timeout);
88
+ });
89
+ timeouts = timeouts.filter((item) => item.key !== timeoutKey);
90
+ (0, import_logging.debug)([{ text: "Picture sent" }]);
91
+ },
92
+ parseInt(String(element.delay))
93
+ );
93
94
  if (timeout) {
94
95
  timeouts.push({ key: timeoutKey, timeout });
95
96
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/sendpic.ts"],
4
- "sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { replaceAll } from './utilities';\nimport { exec } from 'child_process';\nimport { debug, error } from './logging';\nimport TelegramMenu from '../main';\nimport type { Part, UserListWithChatId, Timeouts } from './telegram-menu';\nimport { checkDirectoryIsOk } from './global';\n\nfunction sendPic(\n part: Part,\n userToSend: string,\n instanceTelegram: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n token: string,\n directoryPicture: string,\n timeouts: Timeouts[],\n timeoutKey: string,\n): Timeouts[] {\n try {\n part.sendPic?.forEach(element => {\n const _this = TelegramMenu.getInstance();\n let path = '';\n if (element.id != '-') {\n const url = element.id;\n const newUrl = replaceAll(url, '&amp;', '&');\n\n exec(\n `curl -H \"Autorisation: Bearer ${token.trim()}\" \"${newUrl}\" > ${directoryPicture}${element.fileName}`,\n (error: any, stdout: any, stderr: any) => {\n if (stdout) {\n debug([{ text: 'Stdout:', val: stdout }]);\n }\n if (stderr) {\n debug([{ text: 'Stderr:', val: stderr }]);\n }\n if (error) {\n error([{ text: 'Error:', val: error }]);\n return;\n }\n },\n );\n\n debug([{ text: 'Delay Time:', val: element.delay }]);\n timeoutKey += 1;\n\n if (!checkDirectoryIsOk(directoryPicture)) {\n return;\n }\n\n path = `${directoryPicture}${element.fileName}`;\n debug([{ text: 'Path : ', val: path }]);\n } else {\n return;\n }\n\n const timeout = _this.setTimeout(async () => {\n await sendToTelegram({\n user: userToSend,\n textToSend: path,\n keyboard: undefined,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: 'false',\n });\n let timeoutToClear: Timeouts[] = [];\n timeoutToClear = timeouts.filter(item => item.key == timeoutKey);\n timeoutToClear.forEach(item => {\n clearTimeout(item.timeout);\n });\n\n timeouts = timeouts.filter(item => item.key !== timeoutKey);\n debug([{ text: 'Picture sent' }]);\n }, parseInt(element.delay));\n\n if (timeout) {\n timeouts.push({ key: timeoutKey, timeout: timeout });\n }\n });\n return timeouts;\n } catch (e: any) {\n error([\n { text: 'Error:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n return timeouts;\n}\n\nexport { sendPic };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+B;AAC/B,uBAA2B;AAC3B,2BAAqB;AACrB,qBAA6B;AAC7B,kBAAyB;AAEzB,oBAAmC;AAEnC,SAAS,QACL,MACA,YACA,kBACA,iBACA,mBACA,oBACA,OACA,kBACA,UACA,YACU;AAnBd;AAoBI,MAAI;AACA,eAAK,YAAL,mBAAc,QAAQ,aAAW;AAC7B,YAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,UAAI,OAAO;AACX,UAAI,QAAQ,MAAM,KAAK;AACnB,cAAM,MAAM,QAAQ;AACpB,cAAM,aAAS,6BAAW,KAAK,SAAS,GAAG;AAE3C;AAAA,UACI,iCAAiC,MAAM,KAAK,CAAC,MAAM,MAAM,OAAO,gBAAgB,GAAG,QAAQ,QAAQ;AAAA,UACnG,CAACC,QAAY,QAAa,WAAgB;AACtC,gBAAI,QAAQ;AACR,wCAAM,CAAC,EAAE,MAAM,WAAW,KAAK,OAAO,CAAC,CAAC;AAAA,YAC5C;AACA,gBAAI,QAAQ;AACR,wCAAM,CAAC,EAAE,MAAM,WAAW,KAAK,OAAO,CAAC,CAAC;AAAA,YAC5C;AACA,gBAAIA,QAAO;AACP,cAAAA,OAAM,CAAC,EAAE,MAAM,UAAU,KAAKA,OAAM,CAAC,CAAC;AACtC;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ;AAEA,kCAAM,CAAC,EAAE,MAAM,eAAe,KAAK,QAAQ,MAAM,CAAC,CAAC;AACnD,sBAAc;AAEd,YAAI,KAAC,kCAAmB,gBAAgB,GAAG;AACvC;AAAA,QACJ;AAEA,eAAO,GAAG,gBAAgB,GAAG,QAAQ,QAAQ;AAC7C,kCAAM,CAAC,EAAE,MAAM,WAAW,KAAK,KAAK,CAAC,CAAC;AAAA,MAC1C,OAAO;AACH;AAAA,MACJ;AAEA,YAAM,UAAU,MAAM,WAAW,YAAY;AACzC,kBAAM,gCAAe;AAAA,UACjB,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,UAAU;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA,YAAY;AAAA,QAChB,CAAC;AACD,YAAI,iBAA6B,CAAC;AAClC,yBAAiB,SAAS,OAAO,UAAQ,KAAK,OAAO,UAAU;AAC/D,uBAAe,QAAQ,UAAQ;AAC3B,uBAAa,KAAK,OAAO;AAAA,QAC7B,CAAC;AAED,mBAAW,SAAS,OAAO,UAAQ,KAAK,QAAQ,UAAU;AAC1D,kCAAM,CAAC,EAAE,MAAM,eAAe,CAAC,CAAC;AAAA,MACpC,GAAG,SAAS,QAAQ,KAAK,CAAC;AAE1B,UAAI,SAAS;AACT,iBAAS,KAAK,EAAE,KAAK,YAAY,QAAiB,CAAC;AAAA,MACvD;AAAA,IACJ;AACA,WAAO;AAAA,EACX,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,UAAU,KAAK,EAAE,QAAQ;AAAA,MACjC,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACA,SAAO;AACX;",
4
+ "sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { checkDirectoryIsOk, replaceAll } from './global';\nimport { exec } from 'child_process';\nimport { debug, error } from './logging';\nimport TelegramMenu from '../main';\nimport type { Part, Timeouts, UserListWithChatId } from '../types/types';\n\nfunction sendPic(\n part: Part,\n userToSend: string,\n instanceTelegram: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n token: string,\n directoryPicture: string,\n timeouts: Timeouts[],\n timeoutKey: string,\n): Timeouts[] {\n try {\n part.sendPic?.forEach(element => {\n const _this = TelegramMenu.getInstance();\n let path = '';\n if (element.id != '-') {\n const url = element.id;\n const newUrl = replaceAll(url, '&amp;', '&');\n\n exec(\n `curl -H \"Autorisation: Bearer ${token.trim()}\" \"${newUrl}\" > ${directoryPicture}${element.fileName}`,\n (error: any, stdout: any, stderr: any) => {\n if (stdout) {\n debug([{ text: 'Stdout:', val: stdout }]);\n }\n if (stderr) {\n debug([{ text: 'Stderr:', val: stderr }]);\n }\n if (error) {\n error([{ text: 'Error:', val: error }]);\n return;\n }\n },\n );\n\n debug([{ text: 'Delay Time:', val: element.delay }]);\n timeoutKey += 1;\n\n if (!checkDirectoryIsOk(directoryPicture)) {\n return;\n }\n\n path = `${directoryPicture}${element.fileName}`;\n debug([{ text: 'Path : ', val: path }]);\n } else {\n return;\n }\n\n const timeout = _this.setTimeout(\n async () => {\n await sendToTelegram({\n user: userToSend,\n textToSend: path,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: 'false',\n });\n let timeoutToClear: Timeouts[] = [];\n timeoutToClear = timeouts.filter(item => item.key == timeoutKey);\n timeoutToClear.forEach(item => {\n _this.clearTimeout(item.timeout);\n });\n\n timeouts = timeouts.filter(item => item.key !== timeoutKey);\n debug([{ text: 'Picture sent' }]);\n },\n parseInt(String(element.delay)),\n );\n\n if (timeout) {\n timeouts.push({ key: timeoutKey, timeout: timeout });\n }\n });\n return timeouts;\n } catch (e: any) {\n error([\n { text: 'Error:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n return timeouts;\n}\n\nexport { sendPic };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+B;AAC/B,oBAA+C;AAC/C,2BAAqB;AACrB,qBAA6B;AAC7B,kBAAyB;AAGzB,SAAS,QACL,MACA,YACA,kBACA,iBACA,mBACA,oBACA,OACA,kBACA,UACA,YACU;AAlBd;AAmBI,MAAI;AACA,eAAK,YAAL,mBAAc,QAAQ,aAAW;AAC7B,YAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,UAAI,OAAO;AACX,UAAI,QAAQ,MAAM,KAAK;AACnB,cAAM,MAAM,QAAQ;AACpB,cAAM,aAAS,0BAAW,KAAK,SAAS,GAAG;AAE3C;AAAA,UACI,iCAAiC,MAAM,KAAK,CAAC,MAAM,MAAM,OAAO,gBAAgB,GAAG,QAAQ,QAAQ;AAAA,UACnG,CAACC,QAAY,QAAa,WAAgB;AACtC,gBAAI,QAAQ;AACR,wCAAM,CAAC,EAAE,MAAM,WAAW,KAAK,OAAO,CAAC,CAAC;AAAA,YAC5C;AACA,gBAAI,QAAQ;AACR,wCAAM,CAAC,EAAE,MAAM,WAAW,KAAK,OAAO,CAAC,CAAC;AAAA,YAC5C;AACA,gBAAIA,QAAO;AACP,cAAAA,OAAM,CAAC,EAAE,MAAM,UAAU,KAAKA,OAAM,CAAC,CAAC;AACtC;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ;AAEA,kCAAM,CAAC,EAAE,MAAM,eAAe,KAAK,QAAQ,MAAM,CAAC,CAAC;AACnD,sBAAc;AAEd,YAAI,KAAC,kCAAmB,gBAAgB,GAAG;AACvC;AAAA,QACJ;AAEA,eAAO,GAAG,gBAAgB,GAAG,QAAQ,QAAQ;AAC7C,kCAAM,CAAC,EAAE,MAAM,WAAW,KAAK,KAAK,CAAC,CAAC;AAAA,MAC1C,OAAO;AACH;AAAA,MACJ;AAEA,YAAM,UAAU,MAAM;AAAA,QAClB,YAAY;AACR,oBAAM,gCAAe;AAAA,YACjB,MAAM;AAAA,YACN,YAAY;AAAA,YACZ,UAAU;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,YACA,YAAY;AAAA,UAChB,CAAC;AACD,cAAI,iBAA6B,CAAC;AAClC,2BAAiB,SAAS,OAAO,UAAQ,KAAK,OAAO,UAAU;AAC/D,yBAAe,QAAQ,UAAQ;AAC3B,kBAAM,aAAa,KAAK,OAAO;AAAA,UACnC,CAAC;AAED,qBAAW,SAAS,OAAO,UAAQ,KAAK,QAAQ,UAAU;AAC1D,oCAAM,CAAC,EAAE,MAAM,eAAe,CAAC,CAAC;AAAA,QACpC;AAAA,QACA,SAAS,OAAO,QAAQ,KAAK,CAAC;AAAA,MAClC;AAEA,UAAI,SAAS;AACT,iBAAS,KAAK,EAAE,KAAK,YAAY,QAAiB,CAAC;AAAA,MACvD;AAAA,IACJ;AACA,WAAO;AAAA,EACX,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,UAAU,KAAK,EAAE,QAAQ;AAAA,MACjC,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACA,SAAO;AACX;",
6
6
  "names": ["TelegramMenu", "error"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/setstate.ts"],
4
- "sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { checkTypeOfId } from './utilities';\nimport { setDynamicValue } from './dynamicValue';\nimport { decomposeText } from './global';\nimport TelegramMenu from '../main';\nimport { debug, error } from './logging';\nimport type { Part, UserListWithChatId, SetStateIds } from './telegram-menu';\n\nconst modifiedValue = (valueFromSubmenu: string, value: string): string => {\n if (value && value.includes('{value}')) {\n return value.replace('{value}', valueFromSubmenu);\n }\n return valueFromSubmenu;\n};\nconst isDynamicValueToSet = async (value: string | number | boolean): Promise<string | number | boolean> => {\n const _this = TelegramMenu.getInstance();\n if (typeof value === 'string' && value.includes('{id:')) {\n const result = decomposeText(value, '{id:', '}');\n const id = result.substring.replace('{id:', '').replace('}', '');\n const newValue = await _this.getForeignStateAsync(id);\n if (newValue && newValue.val && typeof newValue.val === 'string') {\n return value.replace(result.substring, newValue.val);\n }\n }\n return value;\n};\nconst setValue = async (\n id: string,\n value: string,\n SubmenuValuePriority: boolean,\n valueFromSubmenu: string | number,\n ack: boolean,\n): Promise<void> => {\n try {\n const _this = TelegramMenu.getInstance();\n let valueToSet;\n SubmenuValuePriority\n ? (valueToSet = modifiedValue(valueFromSubmenu as string, value))\n : (valueToSet = await isDynamicValueToSet(value));\n await checkTypeOfId(id, valueToSet).then((val: ioBroker.StateValue | ioBroker.SettableState | undefined) => {\n valueToSet = val;\n debug([{ text: 'Value to Set:', val: valueToSet }]);\n if (valueToSet !== undefined && valueToSet !== null) {\n _this.setForeignState(id, valueToSet, ack);\n }\n });\n } catch (error: any) {\n error([\n { text: 'Error setValue', val: error.message },\n { text: 'Stack', val: error.stack },\n ]);\n }\n};\n\nexport const setState = async (\n part: Part,\n userToSend: string,\n valueFromSubmenu: string | number,\n SubmenuValuePriority: boolean,\n telegramInstance: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n): Promise<SetStateIds[] | undefined> => {\n const _this = TelegramMenu.getInstance();\n try {\n const setStateIds: SetStateIds[] = [];\n if (!part.switch) {\n return;\n }\n for (const element of part.switch) {\n let ack = false;\n let returnText = element.returnText;\n\n ack = element?.ack ? element.ack === 'true' : false;\n\n if (returnText.includes('{setDynamicValue')) {\n const { confirmText, id } = await setDynamicValue(\n returnText,\n ack,\n element.id,\n userToSend,\n telegramInstance,\n one_time_keyboard,\n resize_keyboard,\n userListWithChatID,\n element.parse_mode,\n element.confirm,\n );\n\n if (element.confirm) {\n setStateIds.push({\n id: id || element.id,\n confirm: element.confirm,\n returnText: confirmText,\n userToSend: userToSend,\n });\n return setStateIds;\n }\n }\n\n if (!returnText.includes(\"{'id':'\")) {\n setStateIds.push({\n id: element.id,\n confirm: element.confirm,\n returnText: returnText,\n userToSend: userToSend,\n parse_mode: element.parse_mode,\n });\n } else {\n returnText = returnText.replace(/'/g, '\"');\n const textToSend = returnText.slice(0, returnText.indexOf('{')).trim();\n const returnObj = JSON.parse(returnText.slice(returnText.indexOf('{'), returnText.indexOf('}') + 1));\n\n returnObj.text = returnObj.text + returnText.slice(returnText.indexOf('}') + 1);\n if (textToSend && textToSend !== '') {\n await sendToTelegram({\n user: userToSend,\n textToSend: textToSend,\n keyboard: undefined,\n instance: telegramInstance,\n resize_keyboard: one_time_keyboard,\n one_time_keyboard: resize_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: element.parse_mode,\n });\n }\n\n setStateIds.push({\n id: returnObj.id,\n confirm: true,\n returnText: returnObj.text,\n userToSend: userToSend,\n });\n }\n if (element.toggle) {\n _this\n .getForeignStateAsync(element.id)\n .then(val => {\n if (val) {\n _this.setForeignStateAsync(element.id, !val.val, ack).catch((e: any) => {\n error([\n { text: 'Error', val: e.message },\n { text: 'Stack', val: e.stack },\n ]);\n });\n }\n })\n .catch((e: any) => {\n error([\n { text: 'Error', val: e.message },\n { text: 'Stack', val: e.stack },\n ]);\n });\n } else {\n await setValue(element.id, element.value, SubmenuValuePriority, valueFromSubmenu, ack);\n }\n }\n return setStateIds;\n } catch (error: any) {\n error([\n { text: 'Error Switch', val: error.message },\n { text: 'Stack', val: error.stack },\n ]);\n }\n};\n"],
4
+ "sourcesContent": ["import { sendToTelegram } from './telegram';\nimport { checkTypeOfId } from './utilities';\nimport { setDynamicValue } from './dynamicValue';\nimport { decomposeText } from './global';\nimport TelegramMenu from '../main';\nimport { debug, error } from './logging';\nimport type { Part, UserListWithChatId, SetStateIds } from '../types/types';\n\nconst modifiedValue = (valueFromSubmenu: string, value: string): string => {\n if (value && value.includes('{value}')) {\n return value.replace('{value}', valueFromSubmenu);\n }\n return valueFromSubmenu;\n};\nconst isDynamicValueToSet = async (value: string | number | boolean): Promise<string | number | boolean> => {\n const _this = TelegramMenu.getInstance();\n if (typeof value === 'string' && value.includes('{id:')) {\n const result = decomposeText(value, '{id:', '}');\n const id = result.substring.replace('{id:', '').replace('}', '');\n const newValue = await _this.getForeignStateAsync(id);\n if (newValue && newValue.val && typeof newValue.val === 'string') {\n return value.replace(result.substring, newValue.val);\n }\n }\n return value;\n};\nconst setValue = async (\n id: string,\n value: string,\n SubmenuValuePriority: boolean,\n valueFromSubmenu: string | number,\n ack: boolean,\n): Promise<void> => {\n try {\n const _this = TelegramMenu.getInstance();\n let valueToSet;\n SubmenuValuePriority\n ? (valueToSet = modifiedValue(valueFromSubmenu as string, value))\n : (valueToSet = await isDynamicValueToSet(value));\n await checkTypeOfId(id, valueToSet).then((val: ioBroker.StateValue | ioBroker.SettableState | undefined) => {\n valueToSet = val;\n debug([{ text: 'Value to Set:', val: valueToSet }]);\n if (valueToSet !== undefined && valueToSet !== null) {\n _this.setForeignState(id, valueToSet, ack);\n }\n });\n } catch (error: any) {\n error([\n { text: 'Error setValue', val: error.message },\n { text: 'Stack', val: error.stack },\n ]);\n }\n};\n\nexport const setState = async (\n part: Part,\n userToSend: string,\n valueFromSubmenu: string | number,\n SubmenuValuePriority: boolean,\n telegramInstance: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n): Promise<SetStateIds[] | undefined> => {\n const _this = TelegramMenu.getInstance();\n try {\n const setStateIds: SetStateIds[] = [];\n if (!part.switch) {\n return;\n }\n for (const element of part.switch) {\n let ack = false;\n let returnText = element.returnText;\n\n ack = element?.ack ? element.ack === 'true' : false;\n\n if (returnText.includes('{setDynamicValue')) {\n const { confirmText, id } = await setDynamicValue(\n returnText,\n ack,\n element.id,\n userToSend,\n telegramInstance,\n one_time_keyboard,\n resize_keyboard,\n userListWithChatID,\n element.parse_mode,\n element.confirm,\n );\n\n if (element.confirm) {\n setStateIds.push({\n id: id || element.id,\n confirm: element.confirm,\n returnText: confirmText,\n userToSend: userToSend,\n });\n return setStateIds;\n }\n }\n\n if (!returnText.includes(\"{'id':'\")) {\n setStateIds.push({\n id: element.id,\n confirm: element.confirm,\n returnText: returnText,\n userToSend: userToSend,\n parse_mode: element.parse_mode,\n });\n } else {\n returnText = returnText.replace(/'/g, '\"');\n const textToSend = returnText.slice(0, returnText.indexOf('{')).trim();\n const returnObj = JSON.parse(returnText.slice(returnText.indexOf('{'), returnText.indexOf('}') + 1));\n\n returnObj.text = returnObj.text + returnText.slice(returnText.indexOf('}') + 1);\n if (textToSend && textToSend !== '') {\n await sendToTelegram({\n user: userToSend,\n textToSend: textToSend,\n keyboard: undefined,\n instance: telegramInstance,\n resize_keyboard: one_time_keyboard,\n one_time_keyboard: resize_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: element.parse_mode,\n });\n }\n\n setStateIds.push({\n id: returnObj.id,\n confirm: true,\n returnText: returnObj.text,\n userToSend: userToSend,\n });\n }\n if (element.toggle) {\n _this\n .getForeignStateAsync(element.id)\n .then(val => {\n if (val) {\n _this.setForeignStateAsync(element.id, !val.val, ack).catch((e: any) => {\n error([\n { text: 'Error', val: e.message },\n { text: 'Stack', val: e.stack },\n ]);\n });\n }\n })\n .catch((e: any) => {\n error([\n { text: 'Error', val: e.message },\n { text: 'Stack', val: e.stack },\n ]);\n });\n } else {\n await setValue(element.id, element.value, SubmenuValuePriority, valueFromSubmenu, ack);\n }\n }\n return setStateIds;\n } catch (error: any) {\n error([\n { text: 'Error Switch', val: error.message },\n { text: 'Stack', val: error.stack },\n ]);\n }\n};\n"],
5
5
  "mappings": "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",
6
6
  "names": ["TelegramMenu", "error"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/lib/shoppingList.ts"],
4
- "sourcesContent": ["import { deleteMessageIds } from './messageIds.js';\nimport { createKeyboardFromJson } from './jsonTable.js';\nimport { sendToTelegramSubmenu, sendToTelegram } from './telegram.js';\nimport { _subscribeAndUnSubscribeForeignStatesAsync } from './subscribeStates.js';\nimport { debug, error } from './logging.js';\nimport TelegramMenu from '../main.js';\nimport type { UserListWithChatId } from './telegram-menu.js';\n\ninterface ObjectData {\n [key: string]: {\n idList: string;\n };\n}\nconst objData: ObjectData = {};\n\nlet isSubscribed = false;\n\nasync function shoppingListSubscribeStateAndDeleteItem(\n val: string | null,\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n): Promise<void> {\n const _this = TelegramMenu.getInstance();\n try {\n let array, user, idList, instance, idItem, res;\n if (val != null) {\n array = val.split(':');\n user = array[0].replace('[', '').replace(']sList', '');\n idList = array[1];\n instance = array[2];\n idItem = array[3];\n res = await _this.getForeignObjectAsync(`alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}`);\n\n if (res) {\n objData[user] = { idList: idList };\n debug([{ text: 'alexa-shoppinglist.', val: idList }]);\n if (!isSubscribed) {\n await _subscribeAndUnSubscribeForeignStatesAsync({ id: `alexa-shoppinglist.${idList}` });\n isSubscribed = true;\n }\n await _this.setForeignStateAsync(\n `alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}.#delete`,\n true,\n false,\n );\n return;\n }\n await sendToTelegram({\n user: user,\n textToSend: 'Cannot delete the Item',\n keyboard: undefined,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: 'true',\n });\n debug([{ text: 'Cannot delete the Item' }]);\n return;\n }\n } catch (e: any) {\n error([\n { text: 'Error shoppingList:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nasync function deleteMessageAndSendNewShoppingList(\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n userToSend: string,\n): Promise<void> {\n const _this = TelegramMenu.getInstance();\n try {\n const user = userToSend;\n const idList = objData[user].idList;\n await _subscribeAndUnSubscribeForeignStatesAsync({ id: `alexa-shoppinglist.${idList}` });\n await deleteMessageIds(user, userListWithChatID, instanceTelegram, 'last');\n\n const result = await _this.getForeignStateAsync(`alexa-shoppinglist.${idList}`);\n if (result && result.val) {\n debug([{ text: 'Result from Shoppinglist:', val: result }]);\n const newId = `alexa-shoppinglist.${idList}`;\n const resultJson = createKeyboardFromJson(result.val as string, null, newId, user);\n if (resultJson && resultJson.text && resultJson.keyboard) {\n sendToTelegramSubmenu(\n user,\n resultJson.text,\n resultJson.keyboard,\n instanceTelegram,\n userListWithChatID,\n 'true',\n );\n }\n }\n } catch (e: any) {\n error([\n { text: 'Error deleteMessageAndSendNewShoppingList:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { shoppingListSubscribeStateAndDeleteItem, deleteMessageAndSendNewShoppingList };\n"],
4
+ "sourcesContent": ["import { deleteMessageIds } from './messageIds.js';\nimport { createKeyboardFromJson } from './jsonTable.js';\nimport { sendToTelegramSubmenu, sendToTelegram } from './telegram.js';\nimport { _subscribeAndUnSubscribeForeignStatesAsync } from './subscribeStates.js';\nimport { debug, error } from './logging.js';\nimport TelegramMenu from '../main.js';\nimport type { UserListWithChatId } from '../types/types.js';\n\ninterface ObjectData {\n [key: string]: {\n idList: string;\n };\n}\nconst objData: ObjectData = {};\n\nlet isSubscribed = false;\n\nasync function shoppingListSubscribeStateAndDeleteItem(\n val: string | null,\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n): Promise<void> {\n const _this = TelegramMenu.getInstance();\n try {\n let array, user, idList, instance, idItem, res;\n if (val != null) {\n array = val.split(':');\n user = array[0].replace('[', '').replace(']sList', '');\n idList = array[1];\n instance = array[2];\n idItem = array[3];\n res = await _this.getForeignObjectAsync(`alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}`);\n\n if (res) {\n objData[user] = { idList: idList };\n debug([{ text: 'alexa-shoppinglist.', val: idList }]);\n if (!isSubscribed) {\n await _subscribeAndUnSubscribeForeignStatesAsync({ id: `alexa-shoppinglist.${idList}` });\n isSubscribed = true;\n }\n await _this.setForeignStateAsync(\n `alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}.#delete`,\n true,\n false,\n );\n return;\n }\n await sendToTelegram({\n user: user,\n textToSend: 'Cannot delete the Item',\n keyboard: undefined,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: 'true',\n });\n debug([{ text: 'Cannot delete the Item' }]);\n return;\n }\n } catch (e: any) {\n error([\n { text: 'Error shoppingList:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nasync function deleteMessageAndSendNewShoppingList(\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n userToSend: string,\n): Promise<void> {\n const _this = TelegramMenu.getInstance();\n try {\n const user = userToSend;\n const idList = objData[user].idList;\n await _subscribeAndUnSubscribeForeignStatesAsync({ id: `alexa-shoppinglist.${idList}` });\n await deleteMessageIds(user, userListWithChatID, instanceTelegram, 'last');\n\n const result = await _this.getForeignStateAsync(`alexa-shoppinglist.${idList}`);\n if (result && result.val) {\n debug([{ text: 'Result from Shoppinglist:', val: result }]);\n const newId = `alexa-shoppinglist.${idList}`;\n const resultJson = createKeyboardFromJson(result.val as string, null, newId, user);\n if (resultJson && resultJson.text && resultJson.keyboard) {\n sendToTelegramSubmenu(\n user,\n resultJson.text,\n resultJson.keyboard,\n instanceTelegram,\n userListWithChatID,\n 'true',\n );\n }\n }\n } catch (e: any) {\n error([\n { text: 'Error deleteMessageAndSendNewShoppingList:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { shoppingListSubscribeStateAndDeleteItem, deleteMessageAndSendNewShoppingList };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAiC;AACjC,uBAAuC;AACvC,sBAAsD;AACtD,6BAA2D;AAC3D,qBAA6B;AAC7B,kBAAyB;AAQzB,MAAM,UAAsB,CAAC;AAE7B,IAAI,eAAe;AAEnB,eAAe,wCACX,KACA,kBACA,oBACA,iBACA,mBACa;AACb,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,MAAI;AACA,QAAI,OAAO,MAAM,QAAQ,UAAU,QAAQ;AAC3C,QAAI,OAAO,MAAM;AACb,cAAQ,IAAI,MAAM,GAAG;AACrB,aAAO,MAAM,CAAC,EAAE,QAAQ,KAAK,EAAE,EAAE,QAAQ,UAAU,EAAE;AACrD,eAAS,MAAM,CAAC;AAChB,iBAAW,MAAM,CAAC;AAClB,eAAS,MAAM,CAAC;AAChB,YAAM,MAAM,MAAM,sBAAsB,UAAU,QAAQ,8BAA8B,MAAM,EAAE;AAEhG,UAAI,KAAK;AACL,gBAAQ,IAAI,IAAI,EAAE,OAAe;AACjC,kCAAM,CAAC,EAAE,MAAM,uBAAuB,KAAK,OAAO,CAAC,CAAC;AACpD,YAAI,CAAC,cAAc;AACf,oBAAM,mEAA2C,EAAE,IAAI,sBAAsB,MAAM,GAAG,CAAC;AACvF,yBAAe;AAAA,QACnB;AACA,cAAM,MAAM;AAAA,UACR,UAAU,QAAQ,8BAA8B,MAAM;AAAA,UACtD;AAAA,UACA;AAAA,QACJ;AACA;AAAA,MACJ;AACA,gBAAM,gCAAe;AAAA,QACjB;AAAA,QACA,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,YAAY;AAAA,MAChB,CAAC;AACD,gCAAM,CAAC,EAAE,MAAM,yBAAyB,CAAC,CAAC;AAC1C;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,uBAAuB,KAAK,EAAE,QAAQ;AAAA,MAC9C,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;AAEA,eAAe,oCACX,kBACA,oBACA,YACa;AACb,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,MAAI;AACA,UAAM,OAAO;AACb,UAAM,SAAS,QAAQ,IAAI,EAAE;AAC7B,cAAM,mEAA2C,EAAE,IAAI,sBAAsB,MAAM,GAAG,CAAC;AACvF,cAAM,oCAAiB,MAAM,oBAAoB,kBAAkB,MAAM;AAEzE,UAAM,SAAS,MAAM,MAAM,qBAAqB,sBAAsB,MAAM,EAAE;AAC9E,QAAI,UAAU,OAAO,KAAK;AACtB,gCAAM,CAAC,EAAE,MAAM,6BAA6B,KAAK,OAAO,CAAC,CAAC;AAC1D,YAAM,QAAQ,sBAAsB,MAAM;AAC1C,YAAM,iBAAa,yCAAuB,OAAO,KAAe,MAAM,OAAO,IAAI;AACjF,UAAI,cAAc,WAAW,QAAQ,WAAW,UAAU;AACtD;AAAA,UACI;AAAA,UACA,WAAW;AAAA,UACX,WAAW;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,8CAA8C,KAAK,EAAE,QAAQ;AAAA,MACrE,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
6
6
  "names": ["TelegramMenu"]
7
7
  }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var splitValues_exports = {};
20
+ __export(splitValues_exports, {
21
+ getBindingValues: () => getBindingValues,
22
+ getEchartsValues: () => getEchartsValues,
23
+ getMenuValues: () => getMenuValues,
24
+ getProcessTimeValues: () => getProcessTimeValues,
25
+ getSubmenuNumberValues: () => getSubmenuNumberValues
26
+ });
27
+ module.exports = __toCommonJS(splitValues_exports);
28
+ var import_string = require("./string");
29
+ var import_appUtils = require("./appUtils");
30
+ const getMenuValues = (str) => {
31
+ const splitText = str.split(":");
32
+ return { cbData: splitText[1], menuToHandle: splitText[2], val: splitText[3] };
33
+ };
34
+ function getProcessTimeValues(substringExcludeSearch) {
35
+ var _a, _b;
36
+ const array = substringExcludeSearch.split(",");
37
+ return {
38
+ typeofTimestamp: (0, import_appUtils.getTypeofTimestamp)(array[0]),
39
+ timeString: (_a = array[1]) != null ? _a : "",
40
+ idString: (0, import_string.replaceAllItems)((_b = array[2]) != null ? _b : "", ["id:", "}", "'"])
41
+ };
42
+ }
43
+ function getBindingValues(item) {
44
+ const array = item.split(":");
45
+ return { key: array[0], id: array[1] };
46
+ }
47
+ const getSubmenuNumberValues = (str) => {
48
+ const splitText = str.split(":");
49
+ return { callbackData: splitText[1], device: splitText[2], value: parseFloat(splitText[3]) };
50
+ };
51
+ const getEchartsValues = (preset) => {
52
+ const splitPreset = preset.split(".");
53
+ return `${splitPreset[0]}.${splitPreset[1]}`;
54
+ };
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ getBindingValues,
58
+ getEchartsValues,
59
+ getMenuValues,
60
+ getProcessTimeValues,
61
+ getSubmenuNumberValues
62
+ });
63
+ //# sourceMappingURL=splitValues.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/lib/splitValues.ts"],
4
+ "sourcesContent": ["import { replaceAllItems } from './string';\nimport { getTypeofTimestamp } from './appUtils';\n\nexport const getMenuValues = (str: string): { cbData: string; menuToHandle?: string; val?: string } => {\n const splitText = str.split(':');\n return { cbData: splitText[1], menuToHandle: splitText[2], val: splitText[3] };\n};\n\nexport function getProcessTimeValues(substringExcludeSearch: string): {\n typeofTimestamp: 'lc' | 'ts';\n timeString: string;\n idString: string;\n} {\n const array = substringExcludeSearch.split(','); //[\"lc\",\"(DD MM YYYY hh:mm:ss:sss)\",\"id:'ID'\"]\n return {\n typeofTimestamp: getTypeofTimestamp(array[0]),\n timeString: array[1] ?? '',\n idString: replaceAllItems(array[2] ?? '', ['id:', '}', \"'\"]),\n };\n}\n\nexport function getBindingValues(item: string): { key: string; id?: string } {\n const array = item.split(':');\n\n return { key: array[0], id: array[1] };\n}\n\nexport const getSubmenuNumberValues = (str: string): { callbackData: string; device: string; value: number } => {\n const splitText = str.split(':'); // submenu:number2-8-1-\u00B0C:SetMenuNumber:3\n return { callbackData: splitText[1], device: splitText[2], value: parseFloat(splitText[3]) };\n};\n\nexport const getEchartsValues = (preset: string): string => {\n const splitPreset = preset.split('.');\n return `${splitPreset[0]}.${splitPreset[1]}`;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAgC;AAChC,sBAAmC;AAE5B,MAAM,gBAAgB,CAAC,QAAyE;AACnG,QAAM,YAAY,IAAI,MAAM,GAAG;AAC/B,SAAO,EAAE,QAAQ,UAAU,CAAC,GAAG,cAAc,UAAU,CAAC,GAAG,KAAK,UAAU,CAAC,EAAE;AACjF;AAEO,SAAS,qBAAqB,wBAInC;AAZF;AAaI,QAAM,QAAQ,uBAAuB,MAAM,GAAG;AAC9C,SAAO;AAAA,IACH,qBAAiB,oCAAmB,MAAM,CAAC,CAAC;AAAA,IAC5C,aAAY,WAAM,CAAC,MAAP,YAAY;AAAA,IACxB,cAAU,gCAAgB,WAAM,CAAC,MAAP,YAAY,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC;AAAA,EAC/D;AACJ;AAEO,SAAS,iBAAiB,MAA4C;AACzE,QAAM,QAAQ,KAAK,MAAM,GAAG;AAE5B,SAAO,EAAE,KAAK,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE;AACzC;AAEO,MAAM,yBAAyB,CAAC,QAAyE;AAC5G,QAAM,YAAY,IAAI,MAAM,GAAG;AAC/B,SAAO,EAAE,cAAc,UAAU,CAAC,GAAG,QAAQ,UAAU,CAAC,GAAG,OAAO,WAAW,UAAU,CAAC,CAAC,EAAE;AAC/F;AAEO,MAAM,mBAAmB,CAAC,WAA2B;AACxD,QAAM,cAAc,OAAO,MAAM,GAAG;AACpC,SAAO,GAAG,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC;AAC9C;",
6
+ "names": []
7
+ }