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,361 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const string_1 = require("../../src/lib/string");
4
+ const chai_1 = require("chai");
5
+ const testing_1 = require("@iobroker/testing");
6
+ const appUtils_1 = require("../../src/lib/appUtils");
7
+ const { adapter, database } = testing_1.utils.unit.createMocks({});
8
+ describe('jsonString', () => {
9
+ it('jsonString', () => {
10
+ const result = (0, string_1.jsonString)({ test: 'test' });
11
+ (0, chai_1.expect)(result).to.equal('{"test":"test"}');
12
+ });
13
+ });
14
+ describe('parseJSON', () => {
15
+ it('parseJSON with json', () => {
16
+ const result = (0, string_1.parseJSON)('{"test":123}');
17
+ (0, chai_1.expect)(result).to.deep.equal({ isValidJson: true, json: { test: 123 } });
18
+ });
19
+ it('parseJSON with incorrect json', () => {
20
+ const result = (0, string_1.parseJSON)('test');
21
+ (0, chai_1.expect)(result).to.deep.equal({ isValidJson: false, json: 'test' });
22
+ });
23
+ });
24
+ describe('replaceAll', () => {
25
+ it('Replace all', () => {
26
+ const texts = [
27
+ { val: 'Test', expect: 'Test' },
28
+ {
29
+ val: 'Abc. Def. Ghi.//.',
30
+ expect: 'Abc Def Ghi // ',
31
+ },
32
+ ];
33
+ texts.forEach(text => {
34
+ const result = (0, string_1.replaceAll)(text.val, '.', ' ');
35
+ (0, chai_1.expect)(result).to.equal(text.expect);
36
+ });
37
+ });
38
+ });
39
+ describe('replaceAllItems', () => {
40
+ it('should replace all matching strings in the text', () => {
41
+ const text = 'Hello World!';
42
+ const searched = ['Hello', 'World'];
43
+ const result = (0, string_1.replaceAllItems)(text, searched);
44
+ (0, chai_1.expect)(result).to.equal(' !');
45
+ });
46
+ it('should replace all matching objects in the text', () => {
47
+ const text = 'Hello World!';
48
+ const searched = [
49
+ { search: 'Hello', val: 'Hi' },
50
+ { search: 'World', val: 'Earth' },
51
+ ];
52
+ const result = (0, string_1.replaceAllItems)(text, searched);
53
+ (0, chai_1.expect)(result).to.equal('Hi Earth!');
54
+ });
55
+ it('should return the original text if no matches are found', () => {
56
+ const text = 'Hello World!';
57
+ const searched = ['Test'];
58
+ const result = (0, string_1.replaceAllItems)(text, searched);
59
+ (0, chai_1.expect)(result).to.equal('Hello World!');
60
+ });
61
+ it('should handle an empty array for searched', () => {
62
+ const text = 'Hello World!';
63
+ const searched = [];
64
+ const result = (0, string_1.replaceAllItems)(text, searched);
65
+ (0, chai_1.expect)(result).to.equal('Hello World!');
66
+ });
67
+ it('should handle an empty text', () => {
68
+ const text = '';
69
+ const searched = ['Hello', 'World'];
70
+ const result = (0, string_1.replaceAllItems)(text, searched);
71
+ (0, chai_1.expect)(result).to.equal('');
72
+ });
73
+ it('should handle mixed types in the searched array', () => {
74
+ const text = 'Hello World!';
75
+ const searched = [
76
+ 'Hello',
77
+ { search: 'World', val: 'Earth' },
78
+ ];
79
+ const result = (0, string_1.replaceAllItems)(text, searched);
80
+ (0, chai_1.expect)(result).to.equal(' Earth!');
81
+ });
82
+ });
83
+ describe('removeQuotes', () => {
84
+ it('should remove single quotes from the string', () => {
85
+ const input = "'Hello World'";
86
+ const result = (0, string_1.removeQuotes)(input);
87
+ (0, chai_1.expect)(result).to.equal('Hello World');
88
+ });
89
+ it('should remove double quotes from the string', () => {
90
+ const input = '"Hello World"';
91
+ const result = (0, string_1.removeQuotes)(input);
92
+ (0, chai_1.expect)(result).to.equal('Hello World');
93
+ });
94
+ it('should remove both single and double quotes from the string', () => {
95
+ const input = `"'Hello' "World""`;
96
+ const result = (0, string_1.removeQuotes)(input);
97
+ (0, chai_1.expect)(result).to.equal('Hello World');
98
+ });
99
+ it('should return the same string if no quotes are present', () => {
100
+ const input = 'Hello World';
101
+ const result = (0, string_1.removeQuotes)(input);
102
+ (0, chai_1.expect)(result).to.equal('Hello World');
103
+ });
104
+ it('should handle an empty string', () => {
105
+ const input = '';
106
+ const result = (0, string_1.removeQuotes)(input);
107
+ (0, chai_1.expect)(result).to.equal('');
108
+ });
109
+ it('should handle a string with only quotes', () => {
110
+ const input = `'"'`;
111
+ const result = (0, string_1.removeQuotes)(input);
112
+ (0, chai_1.expect)(result).to.equal('');
113
+ });
114
+ });
115
+ describe('validateNewLine', () => {
116
+ it('Validate new line', () => {
117
+ const result = (0, string_1.cleanUpString)('Das hier ist ein\\n Test');
118
+ (0, chai_1.expect)(result).to.equal('Das hier ist ein\n Test');
119
+ });
120
+ it('Validate new line with empty text', () => {
121
+ const result = (0, string_1.cleanUpString)(undefined);
122
+ (0, chai_1.expect)(result).to.equal('');
123
+ });
124
+ it('soll \\n in echten Zeilenumbruch umwandeln', () => {
125
+ const input = 'Das\\\\\n hier\\\\n ist ein\\\n Test';
126
+ const expected = 'Das\n hier\n ist ein\n Test';
127
+ const result = (0, string_1.cleanUpString)(input);
128
+ (0, chai_1.expect)(result).to.equal(expected);
129
+ });
130
+ });
131
+ describe('decomposeText', () => {
132
+ it('Decompose text check values', () => {
133
+ const result = (0, string_1.decomposeText)('Das ist ein __Test. Das ist ein Test2', '__', '.');
134
+ (0, chai_1.expect)(result).to.deep.equal({
135
+ startindex: 12,
136
+ endindex: 18,
137
+ substring: '__Test.',
138
+ textExcludeSubstring: 'Das ist ein Das ist ein Test2',
139
+ substringExcludeSearch: 'Test',
140
+ });
141
+ const result2 = (0, string_1.decomposeText)('Das ist ein __Test.', '?', '.');
142
+ (0, chai_1.expect)(result2).to.deep.equal({
143
+ startindex: -1,
144
+ endindex: 18,
145
+ substring: 'Das ist ein __Test.',
146
+ textExcludeSubstring: '',
147
+ substringExcludeSearch: "Das ist ein __Test"
148
+ });
149
+ const result3 = (0, string_1.decomposeText)('Das ist ein __Test.', '?', '-');
150
+ (0, chai_1.expect)(result3).to.deep.equal({
151
+ startindex: -1,
152
+ endindex: -1,
153
+ substring: '',
154
+ textExcludeSubstring: 'Das ist ein __Test.',
155
+ substringExcludeSearch: ""
156
+ });
157
+ });
158
+ });
159
+ describe('getValueToExchange', () => {
160
+ afterEach(() => {
161
+ adapter.resetMockHistory();
162
+ database.clear();
163
+ });
164
+ it('soll den Wert erfolgreich austauschen, wenn JSON korrekt ist', () => {
165
+ const textToSend = 'change{"true":"an","false":"aus"}';
166
+ const val = 'true';
167
+ const result = (0, string_1.getValueToExchange)(adapter, textToSend, val);
168
+ (0, chai_1.expect)(result).to.deep.equal({
169
+ newValue: 'an',
170
+ textToSend: '',
171
+ error: false,
172
+ });
173
+ });
174
+ it('soll den ursprünglichen Wert zurückgeben, wenn JSON ungültig ist', () => {
175
+ const textToSend = 'change{"true":"an","false":aus}';
176
+ const val = 'true';
177
+ const result = (0, string_1.getValueToExchange)(adapter, textToSend, val);
178
+ (0, chai_1.expect)(adapter.log.error.calledOnce).to.be.true;
179
+ (0, chai_1.expect)(result).to.deep.equal({
180
+ newValue: val,
181
+ textToSend,
182
+ error: true,
183
+ });
184
+ });
185
+ it("soll den ursprünglichen Text zurückgeben, wenn kein 'change' enthalten ist", () => {
186
+ const textToSend = 'Kein Austausch erforderlich';
187
+ const val = 'true';
188
+ const result = (0, string_1.getValueToExchange)(adapter, textToSend, val);
189
+ (0, chai_1.expect)(result).to.deep.equal({
190
+ newValue: val,
191
+ textToSend,
192
+ error: false,
193
+ });
194
+ });
195
+ });
196
+ describe('isString', () => {
197
+ it('should return true for string values', () => {
198
+ (0, chai_1.expect)((0, string_1.isString)('hello')).to.be.true;
199
+ (0, chai_1.expect)((0, string_1.isString)('')).to.be.true;
200
+ });
201
+ it('should return false for non-string values', () => {
202
+ (0, chai_1.expect)((0, string_1.isString)(123)).to.be.false;
203
+ (0, chai_1.expect)((0, string_1.isString)(true)).to.be.false;
204
+ (0, chai_1.expect)((0, string_1.isString)(null)).to.be.false;
205
+ (0, chai_1.expect)((0, string_1.isString)(undefined)).to.be.false;
206
+ (0, chai_1.expect)((0, string_1.isString)({})).to.be.false;
207
+ (0, chai_1.expect)((0, string_1.isString)([])).to.be.false;
208
+ });
209
+ });
210
+ describe('StringReplacer', () => {
211
+ it('should remove all matching strings from the substring', () => {
212
+ const substring = 'Hello World!';
213
+ const valueToReplace = ['Hello', 'World'];
214
+ const result = (0, string_1.stringReplacer)(substring, valueToReplace);
215
+ (0, chai_1.expect)(result).to.equal(' !');
216
+ });
217
+ it('should replace all matching objects in the substring', () => {
218
+ const substring = 'Hello World!';
219
+ const valueToReplace = [
220
+ { val: 'Hello', newValue: 'Hi' },
221
+ { val: 'World', newValue: 'Earth' },
222
+ ];
223
+ const result = (0, string_1.stringReplacer)(substring, valueToReplace);
224
+ (0, chai_1.expect)(result).to.equal('Hi Earth!');
225
+ });
226
+ it('should return the original substring if no matches are found', () => {
227
+ const substring = 'Hello World!';
228
+ const valueToReplace = ['Test'];
229
+ const result = (0, string_1.stringReplacer)(substring, valueToReplace);
230
+ (0, chai_1.expect)(result).to.equal('Hello World!');
231
+ });
232
+ it('should handle an empty array for valueToReplace', () => {
233
+ const substring = 'Hello World!';
234
+ const valueToReplace = [];
235
+ const result = (0, string_1.stringReplacer)(substring, valueToReplace);
236
+ (0, chai_1.expect)(result).to.equal('Hello World!');
237
+ });
238
+ it('should handle an empty substring', () => {
239
+ const substring = '';
240
+ const valueToReplace = ['Hello', 'World'];
241
+ const result = (0, string_1.stringReplacer)(substring, valueToReplace);
242
+ (0, chai_1.expect)(result).to.equal('');
243
+ });
244
+ });
245
+ describe('pad', () => {
246
+ it('should pad a number with leading zeros to the default length of 2', () => {
247
+ const result = (0, string_1.pad)(5);
248
+ (0, chai_1.expect)(result).to.equal('05');
249
+ });
250
+ it('should pad a number with leading zeros to a specified length', () => {
251
+ const result = (0, string_1.pad)(5, 4);
252
+ (0, chai_1.expect)(result).to.equal('0005');
253
+ });
254
+ it('should not pad a number if it already meets the specified length', () => {
255
+ const result = (0, string_1.pad)(123, 2);
256
+ (0, chai_1.expect)(result).to.equal('123');
257
+ });
258
+ it('should handle zero correctly', () => {
259
+ const result = (0, string_1.pad)(0, 3);
260
+ (0, chai_1.expect)(result).to.equal('000');
261
+ });
262
+ it('should convert negative numbers to strings without additional padding', () => {
263
+ const result = (0, string_1.pad)(-5, 3);
264
+ (0, chai_1.expect)(result).to.equal('-05');
265
+ });
266
+ it('should handle a length of 0 by returning the number as a string', () => {
267
+ const result = (0, string_1.pad)(5, 0);
268
+ (0, chai_1.expect)(result).to.equal('5');
269
+ });
270
+ });
271
+ describe('timeStringReplacer', () => {
272
+ it('should replace all placeholders with the corresponding values', () => {
273
+ const input = {
274
+ d: '01',
275
+ h: '12',
276
+ m: '30',
277
+ ms: '123',
278
+ y: '2023',
279
+ s: '45',
280
+ mo: '07',
281
+ };
282
+ const template = 'YYYY-MM-DD hh:mm:ss.sss';
283
+ const result = (0, appUtils_1.timeStringReplacer)(input, template);
284
+ (0, chai_1.expect)(result).to.equal('2023-07-01 12:30:45.123');
285
+ });
286
+ it('should handle partial placeholders in the string', () => {
287
+ const input = {
288
+ d: '15',
289
+ h: '08',
290
+ m: '05',
291
+ ms: '001',
292
+ y: '2025',
293
+ s: '59',
294
+ mo: '12',
295
+ };
296
+ const template = 'DD/MM/YYYY hh:mm';
297
+ const result = (0, appUtils_1.timeStringReplacer)(input, template);
298
+ (0, chai_1.expect)(result).to.equal('15/12/2025 08:05');
299
+ });
300
+ it('should return the string unchanged if no placeholders are present', () => {
301
+ const input = {
302
+ d: '01',
303
+ h: '12',
304
+ m: '30',
305
+ ms: '123',
306
+ y: '2023',
307
+ s: '45',
308
+ mo: '07',
309
+ };
310
+ const template = 'No placeholders here';
311
+ const result = (0, appUtils_1.timeStringReplacer)(input, template);
312
+ (0, chai_1.expect)(result).to.equal('No placeholders here');
313
+ });
314
+ it('should return undefined if the input string is undefined', () => {
315
+ const input = {
316
+ d: '01',
317
+ h: '12',
318
+ m: '30',
319
+ ms: '123',
320
+ y: '2023',
321
+ s: '45',
322
+ mo: '07',
323
+ };
324
+ const result = (0, appUtils_1.timeStringReplacer)(input, undefined);
325
+ (0, chai_1.expect)(result).to.be.undefined;
326
+ });
327
+ it('should handle parentheses in the string by removing them', () => {
328
+ const input = {
329
+ d: '10',
330
+ h: '14',
331
+ m: '45',
332
+ ms: '678',
333
+ y: '2024',
334
+ s: '30',
335
+ mo: '11',
336
+ };
337
+ const template = '(YYYY-MM-DD)';
338
+ const result = (0, appUtils_1.timeStringReplacer)(input, template);
339
+ (0, chai_1.expect)(result).to.equal('2024-11-10');
340
+ });
341
+ });
342
+ describe('getNewline', () => {
343
+ it('soll "\\n" zurückgeben, wenn die Eingabe truthy ist', () => {
344
+ (0, chai_1.expect)((0, string_1.getNewline)('true')).to.equal('\n');
345
+ (0, chai_1.expect)((0, string_1.getNewline)('false')).to.equal('');
346
+ });
347
+ });
348
+ describe('isBooleanString', () => {
349
+ it('should return true for "true"', () => {
350
+ (0, chai_1.expect)((0, string_1.isBooleanString)('true')).to.be.true;
351
+ });
352
+ it('should return true for "false"', () => {
353
+ (0, chai_1.expect)((0, string_1.isBooleanString)('false')).to.be.true;
354
+ });
355
+ it('should return false for non-boolean strings', () => {
356
+ (0, chai_1.expect)((0, string_1.isBooleanString)('yes')).to.be.false;
357
+ (0, chai_1.expect)((0, string_1.isBooleanString)('no')).to.be.false;
358
+ (0, chai_1.expect)((0, string_1.isBooleanString)('')).to.be.false;
359
+ });
360
+ });
361
+ //# sourceMappingURL=string.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.test.js","sourceRoot":"","sources":["../../../test/test/string.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // import {expect} from 'chai';
4
+ // import {extractTimeValues, getTimeWithPad, integrateTimeIntoText, toLocaleDate} from '../../src/lib/time';
5
+ // import {config} from '../../src/config/config';
6
+ //
7
+ // describe('Time', () => {
8
+ // const testDate = new Date(1744388803096);
9
+ // const expectedDate = '11.4.2025, 18:26:43';
10
+ //
11
+ // // FIXME : Test gets error Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
12
+ // // it('Should return a correct formatted date', function () {
13
+ // // this.timeout(5000); // Timeout auf 5000ms erhöhen
14
+ // // const result = toLocaleDate(testDate, {locale:'de-DE', tz:'Europe/Berlin'});
15
+ // // expect(result).to.equal(expectedDate);
16
+ // // });
17
+ //
18
+ // // it('Should not throw an exception, if no valid date', () => {
19
+ // // const invalidDate = new Date('invalid-date');
20
+ // // expect(() => toLocaleDate(invalidDate)).to.not.throw();
21
+ // // });
22
+ // //
23
+ // // it('Integrate a valid time into text', () => {
24
+ // // const result = integrateTimeIntoText(`Test at ${config.time} created`, 1744388803096);
25
+ // // expect(result).to.equal(`Test at ${expectedDate} created`);
26
+ // // });
27
+ // //
28
+ // // it('Handle a non valid time', () => {
29
+ // // const result = integrateTimeIntoText(`Test at ${config.time} created`, 'abc');
30
+ // // expect(result).to.equal(`Test at "Invalid Date" created`);
31
+ // // });
32
+ // //
33
+ // // it('Handle a null value for time', () => {
34
+ // // [null, undefined].forEach(value => {
35
+ // // const result = integrateTimeIntoText(`Test at ${config.time} created`, value);
36
+ // // expect(result).to.equal(`Test at "Invalid Date" created`);
37
+ // // });
38
+ // // });
39
+ // });
40
+ //
41
+ // describe('extractTimeValues', () => {
42
+ // it('should correctly extract time values from a valid timestamp', () => {
43
+ // const timestamp = 1744388803096; // Corresponds to 11.4.2025, 18:26:43.096
44
+ // const result = extractTimeValues(timestamp);
45
+ // expect(result).to.deep.equal({
46
+ // milliseconds: 96,
47
+ // seconds: 43,
48
+ // minutes: 26,
49
+ // hours: 18,
50
+ // day: 11,
51
+ // month: 4,
52
+ // year: 2025,
53
+ // });
54
+ // });
55
+ //
56
+ // it('should handle a timestamp of 0 (Unix epoch)', () => {
57
+ // const timestamp = 0; // 1.1.1970, 00:00:00.000
58
+ // const result = extractTimeValues(timestamp);
59
+ // expect(result).to.deep.equal({
60
+ // milliseconds: 0,
61
+ // seconds: 0,
62
+ // minutes: 0,
63
+ // hours: 1,
64
+ // day: 1,
65
+ // month: 1,
66
+ // year: 1970,
67
+ // });
68
+ // });
69
+ //
70
+ // it('should handle a negative timestamp (before Unix epoch)', () => {
71
+ // const timestamp = -3600000;
72
+ // const result = extractTimeValues(timestamp);
73
+ // expect(result).to.deep.equal({
74
+ // milliseconds: NaN,
75
+ // seconds: NaN,
76
+ // minutes: NaN,
77
+ // hours: NaN,
78
+ // day: NaN,
79
+ // month: NaN,
80
+ // year: NaN,
81
+ // });
82
+ // });
83
+ //
84
+ // it('should return NaN for all values if the timestamp is invalid', () => {
85
+ // const result = extractTimeValues(NaN);
86
+ // expect(result).to.deep.equal({
87
+ // milliseconds: NaN,
88
+ // seconds: NaN,
89
+ // minutes: NaN,
90
+ // hours: NaN,
91
+ // day: NaN,
92
+ // month: NaN,
93
+ // year: NaN,
94
+ // });
95
+ // });
96
+ //
97
+ // it('should handle a very large timestamp', () => {
98
+ // const timestamp = 8640000000000;
99
+ // const result = extractTimeValues(timestamp);
100
+ // expect(result).to.deep.equal({
101
+ // milliseconds: 0,
102
+ // seconds: 0,
103
+ // minutes: 0,
104
+ // hours: 2,
105
+ // day: 17,
106
+ // month: 10,
107
+ // year: 2243,
108
+ // });
109
+ // });
110
+ // });
111
+ //
112
+ // describe('getTimeWithPad', () => {
113
+ // it('should correctly pad all time values', () => {
114
+ // const input = {
115
+ // milliseconds: 5,
116
+ // seconds: 9,
117
+ // minutes: 3,
118
+ // hours: 7,
119
+ // day: 1,
120
+ // month: 2,
121
+ // year: 2023,
122
+ // };
123
+ // const result = getTimeWithPad(input);
124
+ // expect(result).to.deep.equal({
125
+ // ms: '005',
126
+ // s: '09',
127
+ // m: '03',
128
+ // h: '07',
129
+ // d: '01',
130
+ // mo: '02',
131
+ // y: '2023',
132
+ // });
133
+ // });
134
+ //
135
+ // it('should handle already padded values', () => {
136
+ // const input = {
137
+ // milliseconds: 123,
138
+ // seconds: 45,
139
+ // minutes: 30,
140
+ // hours: 12,
141
+ // day: 15,
142
+ // month: 10,
143
+ // year: 2025,
144
+ // };
145
+ // const result = getTimeWithPad(input);
146
+ // expect(result).to.deep.equal({
147
+ // ms: '123',
148
+ // s: '45',
149
+ // m: '30',
150
+ // h: '12',
151
+ // d: '15',
152
+ // mo: '10',
153
+ // y: '2025',
154
+ // });
155
+ // });
156
+ //
157
+ // it('should handle edge cases with zero values', () => {
158
+ // const input = {
159
+ // milliseconds: 0,
160
+ // seconds: 0,
161
+ // minutes: 0,
162
+ // hours: 0,
163
+ // day: 0,
164
+ // month: 0,
165
+ // year: 0,
166
+ // };
167
+ // const result = getTimeWithPad(input);
168
+ // expect(result).to.deep.equal({
169
+ // ms: '000',
170
+ // s: '00',
171
+ // m: '00',
172
+ // h: '00',
173
+ // d: '00',
174
+ // mo: '00',
175
+ // y: '0',
176
+ // });
177
+ // });
178
+ //
179
+ // it('should handle large year values', () => {
180
+ // const input = {
181
+ // milliseconds: 1,
182
+ // seconds: 1,
183
+ // minutes: 1,
184
+ // hours: 1,
185
+ // day: 1,
186
+ // month: 1,
187
+ // year: 9999,
188
+ // };
189
+ // const result = getTimeWithPad(input);
190
+ // expect(result).to.deep.equal({
191
+ // ms: '001',
192
+ // s: '01',
193
+ // m: '01',
194
+ // h: '01',
195
+ // d: '01',
196
+ // mo: '01',
197
+ // y: '9999',
198
+ // });
199
+ // });
200
+ // });
201
+ //# sourceMappingURL=time.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.test.js","sourceRoot":"","sources":["../../../test/test/time.test.ts"],"names":[],"mappings":"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"}