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.
- package/README.md +12 -0
- package/admin/build/index.js +49 -49
- package/admin/build/index.js.map +3 -3
- package/admin/css/button.css +3 -0
- package/admin/css/row-editor.css +1 -1
- package/admin/css/style.css +46 -25
- package/admin/css/textarea.css +7 -11
- package/admin/i18n/de/translations.json +124 -123
- package/admin/i18n/en/translations.json +3 -2
- package/admin/i18n/es/translations.json +3 -2
- package/admin/i18n/fr/translations.json +3 -2
- package/admin/i18n/it/translations.json +3 -2
- package/admin/i18n/nl/translations.json +3 -2
- package/admin/i18n/pl/translations.json +3 -2
- package/admin/i18n/pt/translations.json +3 -2
- package/admin/i18n/ru/translations.json +3 -2
- package/admin/i18n/uk/translations.json +3 -2
- package/admin/i18n/zh-cn/translations.json +3 -2
- package/admin/words.js +3 -1
- package/build/admin/src/config/helper.js +178 -0
- package/build/admin/src/config/helper.js.map +1 -0
- package/build/admin/src/lib/Utils.js +64 -0
- package/build/admin/src/lib/Utils.js.map +1 -0
- package/build/admin/src/types/event.js +3 -0
- package/build/admin/src/types/event.js.map +1 -0
- package/build/app/action.js +270 -0
- package/build/app/action.js.map +7 -0
- package/build/app/adapterManager.js +36 -0
- package/build/app/adapterManager.js.map +7 -0
- package/build/app/adapterStartMenuSend.js +59 -0
- package/build/app/adapterStartMenuSend.js.map +7 -0
- package/build/app/backMenu.js +110 -0
- package/build/app/backMenu.js.map +7 -0
- package/build/app/botAction.js +47 -0
- package/build/app/botAction.js.map +7 -0
- package/build/app/configVariables.js +56 -0
- package/build/app/configVariables.js.map +7 -0
- package/build/app/connection.js +42 -0
- package/build/app/connection.js.map +7 -0
- package/build/app/createState.js +42 -0
- package/build/app/createState.js.map +7 -0
- package/build/app/dynamicSwitch.js +69 -0
- package/build/app/dynamicSwitch.js.map +7 -0
- package/build/app/dynamicSwitchMenu.js +69 -0
- package/build/app/dynamicSwitchMenu.js.map +7 -0
- package/build/app/dynamicValue.js +80 -0
- package/build/app/dynamicValue.js.map +7 -0
- package/build/app/echarts.js +60 -0
- package/build/app/echarts.js.map +7 -0
- package/build/app/getstate.js +148 -0
- package/build/app/getstate.js.map +7 -0
- package/build/app/global.js +2 -0
- package/build/app/global.js.map +7 -0
- package/build/app/httpRequest.js +84 -0
- package/build/app/httpRequest.js.map +7 -0
- package/build/app/jsonTable.js +158 -0
- package/build/app/jsonTable.js.map +7 -0
- package/build/app/logging.js +46 -0
- package/build/app/logging.js.map +7 -0
- package/build/app/messageIds.js +116 -0
- package/build/app/messageIds.js.map +7 -0
- package/build/app/processData.js +198 -0
- package/build/app/processData.js.map +7 -0
- package/build/app/sendNav.js +49 -0
- package/build/app/sendNav.js.map +7 -0
- package/build/app/sendpic.js +95 -0
- package/build/app/sendpic.js.map +7 -0
- package/build/app/sentry.js +43 -0
- package/build/app/sentry.js.map +7 -0
- package/build/app/setStateIdsToListenTo.js +42 -0
- package/build/app/setStateIdsToListenTo.js.map +7 -0
- package/build/app/setstate.js +145 -0
- package/build/app/setstate.js.map +7 -0
- package/build/app/shoppingList.js +97 -0
- package/build/app/shoppingList.js.map +7 -0
- package/build/app/subMenu.js +281 -0
- package/build/app/subMenu.js.map +7 -0
- package/build/app/subscribeStates.js +41 -0
- package/build/app/subscribeStates.js.map +7 -0
- package/build/app/telegram.js +131 -0
- package/build/app/telegram.js.map +7 -0
- package/build/app/validateMenus.js +64 -0
- package/build/app/validateMenus.js.map +7 -0
- package/build/build/src/app/action.js +447 -0
- package/build/build/src/app/adapterStartMenuSend.js +37 -0
- package/build/build/src/app/backMenu.js +70 -0
- package/build/build/src/app/botAction.js +25 -0
- package/build/build/src/app/connection.js +19 -0
- package/build/build/src/app/createState.js +19 -0
- package/build/build/src/app/dynamicSwitch.js +51 -0
- package/build/build/src/app/dynamicValue.js +64 -0
- package/build/build/src/app/echarts.js +45 -0
- package/build/build/src/app/getstate.js +157 -0
- package/build/build/src/app/global.js +59 -0
- package/build/build/src/app/httpRequest.js +64 -0
- package/build/build/src/app/jsonTable.js +147 -0
- package/build/build/src/app/logging.js +13 -0
- package/build/build/src/app/messageIds.js +88 -0
- package/build/build/src/app/processData.js +208 -0
- package/build/build/src/app/sendNav.js +30 -0
- package/build/build/src/app/sendpic.js +69 -0
- package/build/build/src/app/setstate.js +126 -0
- package/build/build/src/app/shoppingList.js +72 -0
- package/build/build/src/app/subMenu.js +361 -0
- package/build/build/src/app/subscribeStates.js +25 -0
- package/build/build/src/app/telegram.js +101 -0
- package/build/build/src/lib/string.js +28 -0
- package/build/build/src/lib/time.js +23 -0
- package/build/build/src/lib/utilities.js +263 -0
- package/build/build/src/lib/utils.js +13 -0
- package/build/build/src/main.js +402 -0
- package/build/config/config.js +134 -0
- package/build/config/config.js.map +7 -0
- package/build/io-package.json +87 -87
- package/build/lib/action.js +1 -3
- package/build/lib/action.js.map +2 -2
- package/build/lib/adapterStartMenuSend.js.map +1 -1
- package/build/lib/appUtils.js +158 -0
- package/build/lib/appUtils.js.map +7 -0
- package/build/lib/appUtilsString.js +37 -0
- package/build/lib/appUtilsString.js.map +7 -0
- package/build/lib/backMenu.js.map +2 -2
- package/build/lib/botAction.js.map +1 -1
- package/build/lib/dynamicSwitch.js.map +1 -1
- package/build/lib/dynamicValue.js.map +1 -1
- package/build/lib/echarts.js.map +1 -1
- package/build/lib/getstate.js.map +1 -1
- package/build/lib/global.js.map +1 -1
- package/build/lib/httpRequest.js.map +1 -1
- package/build/lib/json.js +54 -0
- package/build/lib/json.js.map +7 -0
- package/build/lib/jsonTable.js.map +1 -1
- package/build/lib/math.js +41 -0
- package/build/lib/math.js.map +7 -0
- package/build/lib/messageIds.js.map +1 -1
- package/build/lib/object.js +35 -0
- package/build/lib/object.js.map +7 -0
- package/build/lib/processData.js +4 -18
- package/build/lib/processData.js.map +3 -3
- package/build/lib/sendNav.js.map +1 -1
- package/build/lib/sendpic.js +23 -22
- package/build/lib/sendpic.js.map +2 -2
- package/build/lib/setstate.js.map +1 -1
- package/build/lib/shoppingList.js.map +1 -1
- package/build/lib/splitValues.js +63 -0
- package/build/lib/splitValues.js.map +7 -0
- package/build/lib/string.js +125 -3
- package/build/lib/string.js.map +2 -2
- package/build/lib/subMenu.js +1 -2
- package/build/lib/subMenu.js.map +2 -2
- package/build/lib/subscribeStates.js.map +1 -1
- package/build/lib/telegram.js.map +1 -1
- package/build/lib/time.js +93 -0
- package/build/lib/time.js.map +7 -0
- package/build/lib/utilities.js +84 -281
- package/build/lib/utilities.js.map +3 -3
- package/build/lib/utils.js +66 -0
- package/build/lib/utils.js.map +7 -0
- package/build/main.js +151 -233
- package/build/main.js.map +3 -3
- package/build/src/app/action.js +239 -0
- package/build/src/app/action.js.map +1 -0
- package/build/src/app/adapterManager.js +12 -0
- package/build/src/app/adapterManager.js.map +1 -0
- package/build/src/app/adapterStartMenuSend.js +36 -0
- package/build/src/app/adapterStartMenuSend.js.map +1 -0
- package/build/src/app/backMenu.js +81 -0
- package/build/src/app/backMenu.js.map +1 -0
- package/build/src/app/botAction.js +25 -0
- package/build/src/app/botAction.js.map +1 -0
- package/build/src/app/configVariables.js +32 -0
- package/build/src/app/configVariables.js.map +1 -0
- package/build/src/app/connection.js +20 -0
- package/build/src/app/connection.js.map +1 -0
- package/build/src/app/createState.js +19 -0
- package/build/src/app/createState.js.map +1 -0
- package/build/src/app/dynamicSwitch.js +52 -0
- package/build/src/app/dynamicSwitch.js.map +1 -0
- package/build/src/app/dynamicSwitchMenu.js +52 -0
- package/build/src/app/dynamicSwitchMenu.js.map +1 -0
- package/build/src/app/dynamicValue.js +52 -0
- package/build/src/app/dynamicValue.js.map +1 -0
- package/build/src/app/echarts.js +33 -0
- package/build/src/app/echarts.js.map +1 -0
- package/build/src/app/getstate.js +122 -0
- package/build/src/app/getstate.js.map +1 -0
- package/build/src/app/global.js +8 -0
- package/build/src/app/global.js.map +1 -0
- package/build/src/app/httpRequest.js +55 -0
- package/build/src/app/httpRequest.js.map +1 -0
- package/build/src/app/jsonTable.js +147 -0
- package/build/src/app/jsonTable.js.map +1 -0
- package/build/src/app/logging.js +22 -0
- package/build/src/app/logging.js.map +1 -0
- package/build/src/app/messageIds.js +89 -0
- package/build/src/app/messageIds.js.map +1 -0
- package/build/src/app/processData.js +153 -0
- package/build/src/app/processData.js.map +1 -0
- package/build/src/app/sendNav.js +26 -0
- package/build/src/app/sendNav.js.map +1 -0
- package/build/src/app/sendpic.js +66 -0
- package/build/src/app/sendpic.js.map +1 -0
- package/build/src/app/sentry.js +18 -0
- package/build/src/app/sentry.js.map +1 -0
- package/build/src/app/setStateIdsToListenTo.js +17 -0
- package/build/src/app/setStateIdsToListenTo.js.map +1 -0
- package/build/src/app/setstate.js +114 -0
- package/build/src/app/setstate.js.map +1 -0
- package/build/src/app/shoppingList.js +74 -0
- package/build/src/app/shoppingList.js.map +1 -0
- package/build/src/app/subMenu.js +237 -0
- package/build/src/app/subMenu.js.map +1 -0
- package/build/src/app/subscribeStates.js +17 -0
- package/build/src/app/subscribeStates.js.map +1 -0
- package/build/src/app/telegram.js +83 -0
- package/build/src/app/telegram.js.map +1 -0
- package/build/src/app/validateMenus.js +30 -0
- package/build/src/app/validateMenus.js.map +1 -0
- package/build/src/config/config.js +100 -0
- package/build/src/config/config.js.map +1 -0
- package/build/src/lib/appUtils.js +126 -0
- package/build/src/lib/appUtils.js.map +1 -0
- package/build/src/lib/appUtilsString.js +13 -0
- package/build/src/lib/appUtilsString.js.map +1 -0
- package/build/src/lib/json.js +37 -0
- package/build/src/lib/json.js.map +1 -0
- package/build/src/lib/math.js +17 -0
- package/build/src/lib/math.js.map +1 -0
- package/build/src/lib/object.js +10 -0
- package/build/src/lib/object.js.map +1 -0
- package/build/src/lib/splitValues.js +35 -0
- package/build/src/lib/splitValues.js.map +1 -0
- package/build/src/lib/string.js +121 -0
- package/build/src/lib/string.js.map +1 -0
- package/build/src/lib/time.js +57 -0
- package/build/src/lib/time.js.map +1 -0
- package/build/src/lib/utilities.js +111 -0
- package/build/src/lib/utilities.js.map +1 -0
- package/build/src/lib/utils.js +37 -0
- package/build/src/lib/utils.js.map +1 -0
- package/build/src/main.js +332 -0
- package/build/src/main.js.map +1 -0
- package/build/src/test/setup.js +12 -0
- package/build/src/test/setup.js.map +1 -0
- package/build/src/types/types.js +3 -0
- package/build/src/types/types.js.map +1 -0
- package/build/test/integration.js +0 -1
- package/build/test/integration.js.map +1 -1
- package/build/test/mocha.setup.js +0 -1
- package/build/test/mocha.setup.js.map +1 -1
- package/build/test/package.js +0 -1
- package/build/test/package.js.map +1 -1
- package/build/test/setup.js +12 -0
- package/build/test/setup.js.map +1 -0
- package/build/test/test/appUtils.test.js +507 -0
- package/build/test/test/appUtils.test.js.map +1 -0
- package/build/test/test/appUtilsString.test.js +16 -0
- package/build/test/test/appUtilsString.test.js.map +1 -0
- package/build/test/test/math.test.js +33 -0
- package/build/test/test/math.test.js.map +1 -0
- package/build/test/test/object.test.js +54 -0
- package/build/test/test/object.test.js.map +1 -0
- package/build/test/test/string.test.js +361 -0
- package/build/test/test/string.test.js.map +1 -0
- package/build/test/test/time.test.js +201 -0
- package/build/test/test/time.test.js.map +1 -0
- package/build/test/test/utils.test.js +115 -0
- package/build/test/test/utils.test.js.map +1 -0
- package/build/types/types.js +15 -0
- package/build/types/types.js.map +3 -3
- package/io-package.json +19 -14
- package/package.json +14 -10
- package/build/main.test.js +0 -24
- package/build/main.test.js.map +0 -1
|
@@ -0,0 +1,158 @@
|
|
|
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 appUtils_exports = {};
|
|
20
|
+
__export(appUtils_exports, {
|
|
21
|
+
calcValue: () => calcValue,
|
|
22
|
+
checkOneLineValue: () => checkOneLineValue,
|
|
23
|
+
exchangePlaceholderWithValue: () => exchangePlaceholderWithValue,
|
|
24
|
+
getListOfMenusIncludingUser: () => getListOfMenusIncludingUser,
|
|
25
|
+
getNewStructure: () => getNewStructure,
|
|
26
|
+
getParseMode: () => getParseMode,
|
|
27
|
+
getStartSides: () => getStartSides,
|
|
28
|
+
getTypeofTimestamp: () => getTypeofTimestamp,
|
|
29
|
+
isNoTypeDefined: () => isNoTypeDefined,
|
|
30
|
+
isStartside: () => isStartside,
|
|
31
|
+
roundValue: () => roundValue,
|
|
32
|
+
splitNavigation: () => splitNavigation,
|
|
33
|
+
statusIdAndParams: () => statusIdAndParams,
|
|
34
|
+
timeStringReplacer: () => timeStringReplacer
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(appUtils_exports);
|
|
37
|
+
var import_config = require("../config/config");
|
|
38
|
+
var import_string = require("./string");
|
|
39
|
+
var import_math = require("./math");
|
|
40
|
+
var import_utils = require("./utils");
|
|
41
|
+
var import_object = require("./object");
|
|
42
|
+
var import_appUtilsString = require("./appUtilsString");
|
|
43
|
+
const checkOneLineValue = (text) => !text.includes(import_config.config.rowSplitter) ? `${text} ${import_config.config.rowSplitter}` : text;
|
|
44
|
+
function calcValue(textToSend, val, adapter) {
|
|
45
|
+
const { substringExcludeSearch, textExcludeSubstring } = (0, import_string.decomposeText)(
|
|
46
|
+
textToSend,
|
|
47
|
+
import_config.config.math.start,
|
|
48
|
+
import_config.config.math.end
|
|
49
|
+
);
|
|
50
|
+
const { val: evalVal, error } = (0, import_math.evaluate)([val, substringExcludeSearch], adapter);
|
|
51
|
+
return error ? { textToSend: textExcludeSubstring, calculated: val, error } : { textToSend: textExcludeSubstring, calculated: evalVal, error };
|
|
52
|
+
}
|
|
53
|
+
function roundValue(val, textToSend) {
|
|
54
|
+
const floatVal = parseFloat(val);
|
|
55
|
+
const { textExcludeSubstring, substringExcludeSearch: decimalPlaces } = (0, import_string.decomposeText)(
|
|
56
|
+
textToSend,
|
|
57
|
+
import_config.config.round.start,
|
|
58
|
+
import_config.config.round.end
|
|
59
|
+
);
|
|
60
|
+
const decimalPlacesNum = parseInt(decimalPlaces);
|
|
61
|
+
if (isNaN(floatVal)) {
|
|
62
|
+
return { roundedValue: "NaN", text: textExcludeSubstring, error: true };
|
|
63
|
+
}
|
|
64
|
+
if (isNaN(decimalPlacesNum)) {
|
|
65
|
+
return { roundedValue: val, text: textExcludeSubstring, error: true };
|
|
66
|
+
}
|
|
67
|
+
return { roundedValue: floatVal.toFixed(decimalPlacesNum), text: textExcludeSubstring, error: false };
|
|
68
|
+
}
|
|
69
|
+
const getListOfMenusIncludingUser = (menusWithUsers, userToSend) => {
|
|
70
|
+
const menus = [];
|
|
71
|
+
for (const key in menusWithUsers) {
|
|
72
|
+
if (menusWithUsers[key].includes(userToSend)) {
|
|
73
|
+
menus.push(key);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return menus;
|
|
77
|
+
};
|
|
78
|
+
const getParseMode = (val = false) => val ? "HTML" : "Markdown";
|
|
79
|
+
const getTypeofTimestamp = (val) => val.includes("lc") ? "lc" : "ts";
|
|
80
|
+
const timeStringReplacer = ({ d, h, m, ms, y, s, mo }, string) => {
|
|
81
|
+
if (string) {
|
|
82
|
+
string = string.replace("sss", ms).replace("ss", s).replace("mm", m).replace("hh", h).replace("DD", d).replace("MM", mo).replace("YYYY", y).replace("YY", y.slice(-2)).replace("(", "").replace(")", "");
|
|
83
|
+
}
|
|
84
|
+
return string;
|
|
85
|
+
};
|
|
86
|
+
function statusIdAndParams(substringExcludeSearch) {
|
|
87
|
+
var _a, _b;
|
|
88
|
+
const splitArray = substringExcludeSearch.split(":");
|
|
89
|
+
const firstEl = splitArray[0];
|
|
90
|
+
const secondEl = (_a = splitArray[1]) != null ? _a : "";
|
|
91
|
+
const thirdEl = (_b = splitArray[2]) != null ? _b : "";
|
|
92
|
+
return substringExcludeSearch.includes(import_config.config.status.oldWithId) ? {
|
|
93
|
+
id: (0, import_string.removeQuotes)(secondEl),
|
|
94
|
+
//'id':'ID':true
|
|
95
|
+
shouldChange: (0, import_utils.isTruthy)((0, import_string.removeQuotes)(thirdEl))
|
|
96
|
+
} : {
|
|
97
|
+
id: (0, import_string.removeQuotes)(firstEl),
|
|
98
|
+
//'ID':true
|
|
99
|
+
shouldChange: (0, import_utils.isTruthy)((0, import_string.removeQuotes)(secondEl))
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
function isStartside(startSide) {
|
|
103
|
+
return startSide != "-" && startSide != "";
|
|
104
|
+
}
|
|
105
|
+
function splitNavigation(rows) {
|
|
106
|
+
const generatedNavigation = [];
|
|
107
|
+
rows.forEach(({ value, text, parse_mode, call }) => {
|
|
108
|
+
const nav = [];
|
|
109
|
+
checkOneLineValue(value).split(import_config.config.rowSplitter).forEach(function(el, index) {
|
|
110
|
+
nav[index] = (0, import_object.trimAllItems)(el.split(","));
|
|
111
|
+
});
|
|
112
|
+
generatedNavigation.push({ call, text, parse_mode: (0, import_utils.isTruthy)(parse_mode), nav });
|
|
113
|
+
});
|
|
114
|
+
return generatedNavigation;
|
|
115
|
+
}
|
|
116
|
+
function getNewStructure(val) {
|
|
117
|
+
const obj = {};
|
|
118
|
+
val.forEach(function({ nav, text, parse_mode, call }) {
|
|
119
|
+
obj[call] = { nav, text, parse_mode };
|
|
120
|
+
});
|
|
121
|
+
return obj;
|
|
122
|
+
}
|
|
123
|
+
const getStartSides = (menusWithUsers, dataObject) => {
|
|
124
|
+
const startSides = {};
|
|
125
|
+
Object.keys(menusWithUsers).forEach((element) => {
|
|
126
|
+
startSides[element] = dataObject.nav[element][0].call;
|
|
127
|
+
});
|
|
128
|
+
return startSides;
|
|
129
|
+
};
|
|
130
|
+
const exchangePlaceholderWithValue = (textToSend, val) => {
|
|
131
|
+
const searchString = (0, import_appUtilsString.getPlaceholderValue)(textToSend);
|
|
132
|
+
if (searchString !== "") {
|
|
133
|
+
return textToSend.replace(searchString, val.toString()).trim();
|
|
134
|
+
}
|
|
135
|
+
return `${textToSend} ${val}`.trim();
|
|
136
|
+
};
|
|
137
|
+
function isNoTypeDefined(receivedType, obj) {
|
|
138
|
+
var _a, _b;
|
|
139
|
+
return receivedType === ((_a = obj == null ? void 0 : obj.common) == null ? void 0 : _a.type) || !((_b = obj == null ? void 0 : obj.common) == null ? void 0 : _b.type);
|
|
140
|
+
}
|
|
141
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
142
|
+
0 && (module.exports = {
|
|
143
|
+
calcValue,
|
|
144
|
+
checkOneLineValue,
|
|
145
|
+
exchangePlaceholderWithValue,
|
|
146
|
+
getListOfMenusIncludingUser,
|
|
147
|
+
getNewStructure,
|
|
148
|
+
getParseMode,
|
|
149
|
+
getStartSides,
|
|
150
|
+
getTypeofTimestamp,
|
|
151
|
+
isNoTypeDefined,
|
|
152
|
+
isStartside,
|
|
153
|
+
roundValue,
|
|
154
|
+
splitNavigation,
|
|
155
|
+
statusIdAndParams,
|
|
156
|
+
timeStringReplacer
|
|
157
|
+
});
|
|
158
|
+
//# sourceMappingURL=appUtils.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/lib/appUtils.ts"],
|
|
4
|
+
"sourcesContent": ["import { config } from '../config/config';\nimport type {\n Adapter,\n DataObject,\n GetTimeWithPad,\n MenusWithUsers,\n Navigation,\n NavigationRow,\n NewObjectStructure,\n ParseModeType,\n PrimitiveType,\n splittedNavigation,\n StartSides,\n UsersInGroup,\n} from '../types/types';\nimport { decomposeText, removeQuotes } from './string';\nimport { evaluate } from './math';\nimport { isTruthy } from './utils';\nimport { trimAllItems } from './object';\nimport { getPlaceholderValue } from './appUtilsString';\n\nexport const checkOneLineValue = (text: string): string =>\n !text.includes(config.rowSplitter) ? `${text} ${config.rowSplitter}` : text;\n\nexport function calcValue(\n textToSend: string,\n val: string,\n adapter: Adapter,\n): { textToSend: string; calculated: any; error: boolean } {\n const { substringExcludeSearch, textExcludeSubstring } = decomposeText(\n textToSend,\n config.math.start,\n config.math.end,\n );\n const { val: evalVal, error } = evaluate([val, substringExcludeSearch], adapter);\n\n return error\n ? { textToSend: textExcludeSubstring, calculated: val, error }\n : { textToSend: textExcludeSubstring, calculated: evalVal, error };\n}\n\nexport function roundValue(val: string, textToSend: string): { roundedValue: string; text: string; error: boolean } {\n const floatVal = parseFloat(val);\n const { textExcludeSubstring, substringExcludeSearch: decimalPlaces } = decomposeText(\n textToSend,\n config.round.start,\n config.round.end,\n );\n const decimalPlacesNum = parseInt(decimalPlaces);\n\n if (isNaN(floatVal)) {\n return { roundedValue: 'NaN', text: textExcludeSubstring, error: true };\n }\n if (isNaN(decimalPlacesNum)) {\n return { roundedValue: val, text: textExcludeSubstring, error: true };\n }\n\n return { roundedValue: floatVal.toFixed(decimalPlacesNum), text: textExcludeSubstring, error: false };\n}\n\nexport const getListOfMenusIncludingUser = (menusWithUsers: MenusWithUsers, userToSend: string): string[] => {\n const menus: string[] = [];\n for (const key in menusWithUsers) {\n if (menusWithUsers[key].includes(userToSend)) {\n menus.push(key);\n }\n }\n return menus;\n};\n\nexport const getParseMode = (val = false): ParseModeType => (val ? 'HTML' : 'Markdown');\n\nexport const getTypeofTimestamp = (val: string): 'lc' | 'ts' => (val.includes('lc') ? 'lc' : 'ts');\n\nexport const timeStringReplacer = ({ d, h, m, ms, y, s, mo }: GetTimeWithPad, string?: string): string | undefined => {\n if (string) {\n string = string\n .replace('sss', ms)\n .replace('ss', s)\n .replace('mm', m)\n .replace('hh', h)\n .replace('DD', d)\n .replace('MM', mo)\n .replace('YYYY', y)\n .replace('YY', y.slice(-2))\n .replace('(', '')\n .replace(')', '');\n }\n return string;\n};\n\nexport function statusIdAndParams(substringExcludeSearch: string): { id: string; shouldChange: boolean } {\n const splitArray = substringExcludeSearch.split(':');\n const firstEl = splitArray[0];\n const secondEl = splitArray[1] ?? '';\n const thirdEl = splitArray[2] ?? '';\n return substringExcludeSearch.includes(config.status.oldWithId)\n ? {\n id: removeQuotes(secondEl), //'id':'ID':true\n shouldChange: isTruthy(removeQuotes(thirdEl)),\n }\n : {\n id: removeQuotes(firstEl), //'ID':true\n shouldChange: isTruthy(removeQuotes(secondEl)),\n };\n}\n\nexport function isStartside(startSide: string): boolean {\n return startSide != '-' && startSide != '';\n}\n\nexport function splitNavigation(rows: NavigationRow[]): splittedNavigation[] {\n const generatedNavigation: splittedNavigation[] = [];\n\n rows.forEach(({ value, text, parse_mode, call }) => {\n const nav: Navigation = [];\n\n checkOneLineValue(value)\n .split(config.rowSplitter)\n .forEach(function (el, index: number) {\n nav[index] = trimAllItems(el.split(','));\n });\n\n generatedNavigation.push({ call, text, parse_mode: isTruthy(parse_mode), nav });\n });\n return generatedNavigation;\n}\n\nexport function getNewStructure(val: splittedNavigation[]): NewObjectStructure {\n const obj: NewObjectStructure = {};\n val.forEach(function ({ nav, text, parse_mode, call }) {\n obj[call] = { nav, text, parse_mode };\n });\n return obj;\n}\n\nexport const getStartSides = (menusWithUsers: UsersInGroup, dataObject: DataObject): StartSides => {\n const startSides: StartSides = {};\n Object.keys(menusWithUsers).forEach(element => {\n startSides[element] = dataObject.nav[element][0].call;\n });\n return startSides;\n};\n\nexport const exchangePlaceholderWithValue = (textToSend: string, val: PrimitiveType): string => {\n const searchString = getPlaceholderValue(textToSend);\n if (searchString !== '') {\n return textToSend.replace(searchString, val.toString()).trim();\n }\n return `${textToSend} ${val}`.trim();\n};\n\nexport function isNoTypeDefined(\n receivedType: 'undefined' | 'object' | 'boolean' | 'number' | 'string' | 'function' | 'symbol' | 'bigint',\n obj?: ioBroker.Object | null,\n): boolean {\n return receivedType === obj?.common?.type || !obj?.common?.type;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
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 appUtilsString_exports = {};
|
|
20
|
+
__export(appUtilsString_exports, {
|
|
21
|
+
getPlaceholderValue: () => getPlaceholderValue
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(appUtilsString_exports);
|
|
24
|
+
function getPlaceholderValue(textToSend) {
|
|
25
|
+
if (textToSend.includes("&&")) {
|
|
26
|
+
return "&&";
|
|
27
|
+
}
|
|
28
|
+
if (textToSend.includes("&&")) {
|
|
29
|
+
return "&&";
|
|
30
|
+
}
|
|
31
|
+
return "";
|
|
32
|
+
}
|
|
33
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
34
|
+
0 && (module.exports = {
|
|
35
|
+
getPlaceholderValue
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=appUtilsString.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/lib/appUtilsString.ts"],
|
|
4
|
+
"sourcesContent": ["export function getPlaceholderValue(textToSend: string): string {\n if (textToSend.includes('&&')) {\n return '&&';\n }\n if (textToSend.includes('&&')) {\n return '&&';\n }\n return '';\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,oBAAoB,YAA4B;AAC5D,MAAI,WAAW,SAAS,IAAI,GAAG;AAC3B,WAAO;AAAA,EACX;AACA,MAAI,WAAW,SAAS,YAAY,GAAG;AACnC,WAAO;AAAA,EACX;AACA,SAAO;AACX;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lib/backMenu.ts"],
|
|
4
|
-
"sourcesContent": ["import { debug, error } from './logging';\nimport type { BackMenu, NavPart, AllMenusWithData, BooleanString, Keyboard } from '
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA6B;AAE7B,uBAAgC;AAChC,MAAM,WAAqB,CAAC;AAE5B,SAAS,aAAa,KAAa,MAAe,YAA0B;AACxE,MAAI,CAAC,QAAQ,CAAC,KAAK,UAAU,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,SAAS,OAAO,GAAG;AAChE,QAAI,SAAS,UAAU,KAAK,SAAS,UAAU,EAAE,KAAK,WAAW,IAAI;AACjE,eAAS,UAAU,EAAE,KAAK,MAAM;AAAA,IACpC,WAAW,CAAC,SAAS,UAAU,GAAG;AAC9B,eAAS,UAAU,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG;AAAA,IAChD;AACA,QAAI,SAAS,UAAU,EAAE,SAAS,IAAI;AAClC,eAAS,UAAU,EAAE,KAAK,KAAK,SAAS,UAAU,EAAE,IAAI;AAAA,IAC5D;AACA,aAAS,UAAU,EAAE,OAAO;AAAA,EAChC;AACA,4BAAM,CAAC,EAAE,MAAM,cAAc,KAAK,SAAS,CAAC,CAAC;AACjD;AAEA,eAAe,WACX,YACA,kBACA,OACA,WAAW,OAC4F;AAzB3G;AA0BI,MAAI;AACA,UAAM,OAAO,SAAS,UAAU,OAAK,cAAS,UAAU,MAAnB,mBAAsB,QAAO,SAAS,UAAU,EAAE,OAAO,CAAC;AAC/F,QAAI,WAAqB,EAAE,iBAAiB,CAAC,EAAE;AAC/C,QAAI,cAAc;AAClB,QAAI,KAAK,UAAU,GAAG;AAClB,iBAAW,QAAQ,OAAO;AACtB,YAAI,cAAY,4BAAiB,IAAI,MAArB,mBAAyB,SAAS,UAAU,EAAE,UAA9C,mBAAqD,MAAK;AACtE,qBAAW,iBAAiB,IAAI,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE;AAC7D,wBAAc;AACd;AAAA,QACJ,aAAW,sBAAiB,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,MAA5C,mBAA+C,QAAO,CAAC,UAAU;AACxE,qBAAW,iBAAiB,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,EAAE;AACzD,oCAAM,CAAC,EAAE,MAAM,kBAAkB,CAAC,CAAC;AACnC,wBAAc;AACd;AAAA,QACJ;AACA,kCAAM,CAAC,EAAE,MAAM,mCAAmC,CAAC,CAAC;AAAA,MACxD;AACA,UAAI,YAAY,eAAe,IAAI;AAC/B,YAAI,YAA2B;AAC/B,YAAI,CAAC,UAAU;AACX,cAAI,
|
|
4
|
+
"sourcesContent": ["import { debug, error } from './logging';\nimport type { BackMenu, NavPart, AllMenusWithData, BooleanString, Keyboard } from '../types/types';\nimport { checkStatusInfo } from './utilities';\nconst backMenu: BackMenu = {};\n\nfunction backMenuFunc(nav: string, part: NavPart, userToSend: string): void {\n if (!part || !JSON.stringify(part).split(`\"`)[1].includes('menu:')) {\n if (backMenu[userToSend] && backMenu[userToSend].list.length === 20) {\n backMenu[userToSend].list.shift();\n } else if (!backMenu[userToSend]) {\n backMenu[userToSend] = { list: [], last: '' };\n }\n if (backMenu[userToSend].last !== '') {\n backMenu[userToSend].list.push(backMenu[userToSend].last);\n }\n backMenu[userToSend].last = nav;\n }\n debug([{ text: 'GoBackMenu', val: backMenu }]);\n}\n\nasync function switchBack(\n userToSend: string,\n allMenusWithData: AllMenusWithData,\n menus: string[],\n lastMenu = false,\n): Promise<{ texttosend: string | undefined; menuToSend: Keyboard; parseMode: BooleanString } | undefined> {\n try {\n const list = backMenu[userToSend] && backMenu[userToSend]?.list ? backMenu[userToSend].list : [];\n let keyboard: Keyboard = { inline_keyboard: [] };\n let foundedMenu = '';\n if (list.length != 0) {\n for (const menu of menus) {\n if (lastMenu && allMenusWithData[menu]?.[backMenu[userToSend].last]?.nav) {\n keyboard = allMenusWithData[menu][backMenu[userToSend].last].nav;\n foundedMenu = menu;\n break;\n } else if (allMenusWithData[menu][list[list.length - 1]]?.nav && !lastMenu) {\n keyboard = allMenusWithData[menu][list[list.length - 1]].nav;\n debug([{ text: 'Menu call found' }]);\n foundedMenu = menu;\n break;\n }\n debug([{ text: 'Menu call not found in this Menu' }]);\n }\n if (keyboard && foundedMenu != '') {\n let parseMode: BooleanString = '' as BooleanString;\n if (!lastMenu) {\n let textToSend = allMenusWithData[foundedMenu][\n backMenu[userToSend].list[backMenu[userToSend].list.length - 1]\n ].text as string | undefined;\n if (textToSend) {\n textToSend = await checkStatusInfo(textToSend);\n }\n parseMode = (allMenusWithData[foundedMenu][\n backMenu[userToSend].list[backMenu[userToSend].list.length - 1]\n ].parse_mode || 'false') as BooleanString;\n backMenu[userToSend].last = list.pop();\n\n return { texttosend: textToSend, menuToSend: keyboard, parseMode: parseMode };\n }\n parseMode = (allMenusWithData[foundedMenu][backMenu[userToSend].last].parse_mode ||\n 'false') as BooleanString;\n return {\n texttosend: allMenusWithData[foundedMenu][backMenu[userToSend].last].text as string,\n menuToSend: keyboard,\n parseMode: parseMode,\n };\n }\n }\n } catch (e: any) {\n error([\n { text: 'Error in switchBack:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { switchBack, backMenuFunc };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA6B;AAE7B,uBAAgC;AAChC,MAAM,WAAqB,CAAC;AAE5B,SAAS,aAAa,KAAa,MAAe,YAA0B;AACxE,MAAI,CAAC,QAAQ,CAAC,KAAK,UAAU,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,SAAS,OAAO,GAAG;AAChE,QAAI,SAAS,UAAU,KAAK,SAAS,UAAU,EAAE,KAAK,WAAW,IAAI;AACjE,eAAS,UAAU,EAAE,KAAK,MAAM;AAAA,IACpC,WAAW,CAAC,SAAS,UAAU,GAAG;AAC9B,eAAS,UAAU,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG;AAAA,IAChD;AACA,QAAI,SAAS,UAAU,EAAE,SAAS,IAAI;AAClC,eAAS,UAAU,EAAE,KAAK,KAAK,SAAS,UAAU,EAAE,IAAI;AAAA,IAC5D;AACA,aAAS,UAAU,EAAE,OAAO;AAAA,EAChC;AACA,4BAAM,CAAC,EAAE,MAAM,cAAc,KAAK,SAAS,CAAC,CAAC;AACjD;AAEA,eAAe,WACX,YACA,kBACA,OACA,WAAW,OAC4F;AAzB3G;AA0BI,MAAI;AACA,UAAM,OAAO,SAAS,UAAU,OAAK,cAAS,UAAU,MAAnB,mBAAsB,QAAO,SAAS,UAAU,EAAE,OAAO,CAAC;AAC/F,QAAI,WAAqB,EAAE,iBAAiB,CAAC,EAAE;AAC/C,QAAI,cAAc;AAClB,QAAI,KAAK,UAAU,GAAG;AAClB,iBAAW,QAAQ,OAAO;AACtB,YAAI,cAAY,4BAAiB,IAAI,MAArB,mBAAyB,SAAS,UAAU,EAAE,UAA9C,mBAAqD,MAAK;AACtE,qBAAW,iBAAiB,IAAI,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE;AAC7D,wBAAc;AACd;AAAA,QACJ,aAAW,sBAAiB,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,MAA5C,mBAA+C,QAAO,CAAC,UAAU;AACxE,qBAAW,iBAAiB,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,EAAE;AACzD,oCAAM,CAAC,EAAE,MAAM,kBAAkB,CAAC,CAAC;AACnC,wBAAc;AACd;AAAA,QACJ;AACA,kCAAM,CAAC,EAAE,MAAM,mCAAmC,CAAC,CAAC;AAAA,MACxD;AACA,UAAI,YAAY,eAAe,IAAI;AAC/B,YAAI,YAA2B;AAC/B,YAAI,CAAC,UAAU;AACX,cAAI,aAAa,iBAAiB,WAAW,EACzC,SAAS,UAAU,EAAE,KAAK,SAAS,UAAU,EAAE,KAAK,SAAS,CAAC,CAClE,EAAE;AACF,cAAI,YAAY;AACZ,yBAAa,UAAM,kCAAgB,UAAU;AAAA,UACjD;AACA,sBAAa,iBAAiB,WAAW,EACrC,SAAS,UAAU,EAAE,KAAK,SAAS,UAAU,EAAE,KAAK,SAAS,CAAC,CAClE,EAAE,cAAc;AAChB,mBAAS,UAAU,EAAE,OAAO,KAAK,IAAI;AAErC,iBAAO,EAAE,YAAY,YAAY,YAAY,UAAU,UAAqB;AAAA,QAChF;AACA,oBAAa,iBAAiB,WAAW,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE,cAClE;AACJ,eAAO;AAAA,UACH,YAAY,iBAAiB,WAAW,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE;AAAA,UACrE,YAAY;AAAA,UACZ;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,wBAAwB,KAAK,EAAE,QAAQ;AAAA,MAC/C,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lib/botAction.ts"],
|
|
4
|
-
"sourcesContent": ["import TelegramMenu from '../main';\nimport { debug, error } from './logging';\nimport type { UserListWithChatId } from '
|
|
4
|
+
"sourcesContent": ["import TelegramMenu from '../main';\nimport { debug, error } from './logging';\nimport type { UserListWithChatId } from '../types/types';\n\nconst deleteMessageByBot = (\n instance: string,\n user: string,\n userListWithChatID: UserListWithChatId[],\n messageId: number,\n chat_id: string | number,\n): void => {\n const _this = TelegramMenu.getInstance();\n try {\n if (chat_id) {\n debug([{ text: 'Delete Message for', val: `${user} ${chat_id} , MessageId: ${messageId}` }]);\n }\n _this.sendTo(instance, {\n deleteMessage: {\n options: {\n chat_id: chat_id,\n message_id: messageId,\n },\n },\n });\n } catch (e: any) {\n error([\n { text: 'Error deleteMessage:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n};\nexport { deleteMessageByBot };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAyB;AACzB,qBAA6B;AAG7B,MAAM,qBAAqB,CACvB,UACA,MACA,oBACA,WACA,YACO;AACP,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,MAAI;AACA,QAAI,SAAS;AACT,gCAAM,CAAC,EAAE,MAAM,sBAAsB,KAAK,GAAG,IAAI,IAAI,OAAO,iBAAiB,SAAS,GAAG,CAAC,CAAC;AAAA,IAC/F;AACA,UAAM,OAAO,UAAU;AAAA,MACnB,eAAe;AAAA,QACX,SAAS;AAAA,UACL;AAAA,UACA,YAAY;AAAA,QAChB;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,EACL,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,wBAAwB,KAAK,EAAE,QAAQ;AAAA,MAC/C,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
|
|
6
6
|
"names": ["TelegramMenu"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lib/dynamicSwitch.ts"],
|
|
4
|
-
"sourcesContent": ["import { error } from './logging';\nimport type { KeyboardItems, Keyboard } from '
|
|
4
|
+
"sourcesContent": ["import { error } from './logging';\nimport type { KeyboardItems, Keyboard } from '../types/types';\nimport { checkStatusInfo } from './utilities';\nasync function dynamicSwitch(\n calledValue: string,\n device: string,\n text: string,\n): Promise<{ text?: string; keyboard: Keyboard; device: string } | undefined> {\n try {\n const changedCalledValue = await checkStatusInfo(calledValue);\n const splittedArray: string[] | undefined = changedCalledValue?.replace(/\"/g, '').split(':');\n\n if (!splittedArray) {\n return;\n }\n device = splittedArray[2];\n const arrayOfValues = splittedArray[1]\n .replace('dynSwitch', '')\n .replace(/\\]/g, '')\n .replace(/\\[/g, '')\n .split(',');\n\n const lengthOfRow = parseInt(splittedArray[3]) || 6;\n\n const array: KeyboardItems[][] = [];\n const keyboard: Keyboard = { inline_keyboard: array };\n if (arrayOfValues) {\n let keyboardItemsArray: KeyboardItems[] = [];\n arrayOfValues.forEach((value, index: number) => {\n if (value.includes('|')) {\n const splittedValue = value.split('|');\n keyboardItemsArray.push({\n text: splittedValue[0],\n callback_data: `menu:dynS:${device}:${splittedValue[1]}`,\n });\n } else {\n keyboardItemsArray.push({\n text: value,\n callback_data: `menu:dynS:${device}:${value}`,\n });\n }\n if (\n ((index + 1) % lengthOfRow == 0 && index != 0 && arrayOfValues.length > 0) ||\n index + 1 == arrayOfValues.length\n ) {\n keyboard.inline_keyboard.push(keyboardItemsArray);\n keyboardItemsArray = [];\n }\n });\n return { text, keyboard, device };\n }\n } catch (e: any) {\n error([\n { text: 'Error parsing dynSwitch:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\nexport { dynamicSwitch };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAsB;AAEtB,uBAAgC;AAChC,eAAe,cACX,aACA,QACA,MAC0E;AAC1E,MAAI;AACA,UAAM,qBAAqB,UAAM,kCAAgB,WAAW;AAC5D,UAAM,gBAAsC,yDAAoB,QAAQ,MAAM,IAAI,MAAM;AAExF,QAAI,CAAC,eAAe;AAChB;AAAA,IACJ;AACA,aAAS,cAAc,CAAC;AACxB,UAAM,gBAAgB,cAAc,CAAC,EAChC,QAAQ,aAAa,EAAE,EACvB,QAAQ,OAAO,EAAE,EACjB,QAAQ,OAAO,EAAE,EACjB,MAAM,GAAG;AAEd,UAAM,cAAc,SAAS,cAAc,CAAC,CAAC,KAAK;AAElD,UAAM,QAA2B,CAAC;AAClC,UAAM,WAAqB,EAAE,iBAAiB,MAAM;AACpD,QAAI,eAAe;AACf,UAAI,qBAAsC,CAAC;AAC3C,oBAAc,QAAQ,CAAC,OAAO,UAAkB;AAC5C,YAAI,MAAM,SAAS,GAAG,GAAG;AACrB,gBAAM,gBAAgB,MAAM,MAAM,GAAG;AACrC,6BAAmB,KAAK;AAAA,YACpB,MAAM,cAAc,CAAC;AAAA,YACrB,eAAe,aAAa,MAAM,IAAI,cAAc,CAAC,CAAC;AAAA,UAC1D,CAAC;AAAA,QACL,OAAO;AACH,6BAAmB,KAAK;AAAA,YACpB,MAAM;AAAA,YACN,eAAe,aAAa,MAAM,IAAI,KAAK;AAAA,UAC/C,CAAC;AAAA,QACL;AACA,aACM,QAAQ,KAAK,eAAe,KAAK,SAAS,KAAK,cAAc,SAAS,KACxE,QAAQ,KAAK,cAAc,QAC7B;AACE,mBAAS,gBAAgB,KAAK,kBAAkB;AAChD,+BAAqB,CAAC;AAAA,QAC1B;AAAA,MACJ,CAAC;AACD,aAAO,EAAE,MAAM,UAAU,OAAO;AAAA,IACpC;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,4BAA4B,KAAK,EAAE,QAAQ;AAAA,MACnD,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lib/dynamicValue.ts"],
|
|
4
|
-
"sourcesContent": ["import { decomposeText } from './utilities';\nimport { sendToTelegram } from './telegram';\nimport type { SetDynamicValueObj, UserListWithChatId, BooleanString, SetDynamicValue } from '
|
|
4
|
+
"sourcesContent": ["import { decomposeText } from './utilities';\nimport { sendToTelegram } from './telegram';\nimport type { SetDynamicValueObj, UserListWithChatId, BooleanString, SetDynamicValue } from '../types/types';\nconst setDynamicValueObj: SetDynamicValueObj = {};\nconst setDynamicValue = async (\n returnText: string,\n ack: boolean,\n id: string,\n userToSend: string,\n telegramInstance: string,\n one_time_keyboard: boolean,\n resize_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n parse_mode: BooleanString,\n confirm: string,\n): Promise<{ confirmText: string; id: string | undefined }> => {\n const { substring } = decomposeText(returnText, '{setDynamicValue:', '}');\n let array = substring.split(':');\n array = isBraceDeleteEntry(array);\n const text = array[1];\n if (text) {\n await sendToTelegram({\n user: userToSend,\n textToSend: text,\n keyboard: undefined,\n instance: telegramInstance,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: parse_mode,\n });\n }\n setDynamicValueObj[userToSend] = {\n id: id,\n ack: ack,\n returnText: text,\n userToSend: userToSend,\n parse_mode: parse_mode,\n confirm: confirm,\n telegramInstance: telegramInstance,\n one_time_keyboard: one_time_keyboard,\n resize_keyboard: resize_keyboard,\n userListWithChatID: userListWithChatID,\n valueType: array[2],\n };\n\n if (array[3] && array[3] != '') {\n return { confirmText: array[3], id: array[4] };\n }\n return { confirmText: '', id: undefined };\n};\n\nconst getDynamicValue = (userToSend: string): SetDynamicValue | null => {\n if (setDynamicValueObj[userToSend]) {\n return setDynamicValueObj[userToSend];\n }\n return null;\n};\nconst removeUserFromDynamicValue = (userToSend: string): boolean => {\n if (setDynamicValueObj[userToSend]) {\n delete setDynamicValueObj[userToSend];\n return true;\n }\n return false;\n};\nexport { setDynamicValue, getDynamicValue, removeUserFromDynamicValue };\n\nfunction isBraceDeleteEntry(array: string[]): string[] {\n if (array[4] === '}') {\n return array.slice(0, 4);\n }\n return array;\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA8B;AAC9B,sBAA+B;AAE/B,MAAM,qBAAyC,CAAC;AAChD,MAAM,kBAAkB,OACpB,YACA,KACA,IACA,YACA,kBACA,mBACA,iBACA,oBACA,YACA,YAC2D;AAC3D,QAAM,EAAE,UAAU,QAAI,gCAAc,YAAY,qBAAqB,GAAG;AACxE,MAAI,QAAQ,UAAU,MAAM,GAAG;AAC/B,UAAQ,mBAAmB,KAAK;AAChC,QAAM,OAAO,MAAM,CAAC;AACpB,MAAI,MAAM;AACN,cAAM,gCAAe;AAAA,MACjB,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,CAAC;AAAA,EACL;AACA,qBAAmB,UAAU,IAAI;AAAA,IAC7B;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,MAAM,CAAC;AAAA,EACtB;AAEA,MAAI,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,IAAI;AAC5B,WAAO,EAAE,aAAa,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE;AAAA,EACjD;AACA,SAAO,EAAE,aAAa,IAAI,IAAI,OAAU;AAC5C;AAEA,MAAM,kBAAkB,CAAC,eAA+C;AACpE,MAAI,mBAAmB,UAAU,GAAG;AAChC,WAAO,mBAAmB,UAAU;AAAA,EACxC;AACA,SAAO;AACX;AACA,MAAM,6BAA6B,CAAC,eAAgC;AAChE,MAAI,mBAAmB,UAAU,GAAG;AAChC,WAAO,mBAAmB,UAAU;AACpC,WAAO;AAAA,EACX;AACA,SAAO;AACX;AAGA,SAAS,mBAAmB,OAA2B;AACnD,MAAI,MAAM,CAAC,MAAM,KAAK;AAClB,WAAO,MAAM,MAAM,GAAG,CAAC;AAAA,EAC3B;AACA,SAAO;AACX;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/lib/echarts.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lib/echarts.ts"],
|
|
4
|
-
"sourcesContent": ["import TelegramMenu from '../main';\nimport { error } from './logging';\nimport { sendToTelegram } from './telegram';\nimport type { Echart, UserListWithChatId } from '
|
|
4
|
+
"sourcesContent": ["import TelegramMenu from '../main';\nimport { error } from './logging';\nimport { sendToTelegram } from './telegram';\nimport type { Echart, UserListWithChatId } from '../types/types';\nimport { checkDirectoryIsOk } from './global';\n\nfunction getChart(\n echarts: Echart[],\n directoryPicture: string,\n user: string,\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n): void {\n const _this = TelegramMenu.getInstance();\n try {\n if (!echarts) {\n return;\n }\n for (const echart of echarts) {\n const splitPreset = echart.preset.split('.');\n const instanceOfEchart = `${splitPreset[0]}.${splitPreset[1]}`;\n\n if (!checkDirectoryIsOk(directoryPicture)) {\n return;\n }\n _this.sendTo(\n instanceOfEchart,\n {\n preset: echart.preset,\n renderer: 'jpg',\n background: echart.background,\n theme: echart.theme,\n quality: 1.0,\n fileOnDisk: directoryPicture + echart.filename,\n },\n (result: any) => {\n sendToTelegram({\n user: user,\n textToSend: result.error || directoryPicture + echart.filename,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: 'false',\n }).catch((e: any) => {\n error([\n { text: 'Error', val: e.message },\n { text: 'Stack', val: e.stack },\n ]);\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}\n\nexport { getChart };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAyB;AACzB,qBAAsB;AACtB,sBAA+B;AAE/B,oBAAmC;AAEnC,SAAS,SACL,SACA,kBACA,MACA,kBACA,oBACA,iBACA,mBACI;AACJ,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,MAAI;AACA,QAAI,CAAC,SAAS;AACV;AAAA,IACJ;AACA,eAAW,UAAU,SAAS;AAC1B,YAAM,cAAc,OAAO,OAAO,MAAM,GAAG;AAC3C,YAAM,mBAAmB,GAAG,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC;AAE5D,UAAI,KAAC,kCAAmB,gBAAgB,GAAG;AACvC;AAAA,MACJ;AACA,YAAM;AAAA,QACF;AAAA,QACA;AAAA,UACI,QAAQ,OAAO;AAAA,UACf,UAAU;AAAA,UACV,YAAY,OAAO;AAAA,UACnB,OAAO,OAAO;AAAA,UACd,SAAS;AAAA,UACT,YAAY,mBAAmB,OAAO;AAAA,QAC1C;AAAA,QACA,CAAC,WAAgB;AACb,8CAAe;AAAA,YACX;AAAA,YACA,YAAY,OAAO,SAAS,mBAAmB,OAAO;AAAA,YACtD,UAAU;AAAA,YACV;AAAA,YACA;AAAA,YACA;AAAA,YACA,YAAY;AAAA,UAChB,CAAC,EAAE,MAAM,CAAC,MAAW;AACjB,sCAAM;AAAA,cACF,EAAE,MAAM,SAAS,KAAK,EAAE,QAAQ;AAAA,cAChC,EAAE,MAAM,SAAS,KAAK,EAAE,MAAM;AAAA,YAClC,CAAC;AAAA,UACL,CAAC;AAAA,QACL;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,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;AACJ;",
|
|
6
6
|
"names": ["TelegramMenu"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lib/getstate.ts"],
|
|
4
|
-
"sourcesContent": ["import { sendToTelegram, sendToTelegramSubmenu } from './telegram';\nimport { bindingFunc, roundValue, calcValue, idBySelector } from './action';\nimport { createKeyboardFromJson, createTextTableFromJson } from './jsonTable';\nimport { processTimeIdLc, processTimeValue, changeValue } from './utilities';\nimport { decomposeText, isDefined } from './global';\nimport { debug, error } from './logging';\nimport TelegramMenu from '../main';\nimport type { Part, UserListWithChatId } from '
|
|
4
|
+
"sourcesContent": ["import { sendToTelegram, sendToTelegramSubmenu } from './telegram';\nimport { bindingFunc, roundValue, calcValue, idBySelector } from './action';\nimport { createKeyboardFromJson, createTextTableFromJson } from './jsonTable';\nimport { processTimeIdLc, processTimeValue, changeValue } from './utilities';\nimport { decomposeText, isDefined } from './global';\nimport { debug, error } from './logging';\nimport TelegramMenu from '../main';\nimport type { Part, UserListWithChatId } from '../types/types';\n\nfunction getState(\n part: Part,\n userToSend: string,\n telegramInstance: string,\n one_time_keyboard: boolean,\n resize_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n): void {\n const _this = TelegramMenu.getInstance();\n let text = '';\n let i = 1;\n // Parse Mode ist nur immer im ersten Element\n const parse_mode = part.getData?.[0].parse_mode || 'false';\n\n part.getData?.forEach(async element => {\n try {\n debug([{ text: 'Get Value ID:', val: element.id }]);\n const specifiedSelektor = 'functions=';\n const id = element.id;\n let textToSend = '';\n\n if (id.indexOf(specifiedSelektor) != -1) {\n await idBySelector(\n _this,\n id,\n element.text,\n userToSend,\n element.newline,\n telegramInstance,\n one_time_keyboard,\n resize_keyboard,\n userListWithChatID,\n );\n return;\n }\n\n if (element.text.includes('binding:')) {\n debug([{ text: 'Binding' }]);\n await bindingFunc(\n element.text,\n userToSend,\n telegramInstance,\n one_time_keyboard,\n resize_keyboard,\n userListWithChatID,\n parse_mode,\n );\n return;\n }\n\n await _this.getForeignStateAsync(id).then(async (value?: ioBroker.State | null) => {\n if (!isDefined(value)) {\n error([{ text: 'The state is empty!' }]);\n return;\n }\n const valueForJson: string = value.val?.toString() ?? '';\n debug([{ text: 'State:', val: value }]);\n\n let val: string | number = valueForJson.replace(/\\\\/g, '').replace(/\"/g, '');\n\n let newline = '';\n if (element.newline === 'true') {\n newline = '\\n';\n }\n if (element.text) {\n textToSend = element.text.toString();\n if (element.text.includes('{time.lc') || element.text.includes('{time.ts')) {\n textToSend = (await processTimeIdLc(element.text, id)) || '';\n val = '';\n }\n if (textToSend.includes('{time}')) {\n textToSend = processTimeValue(textToSend, value);\n val = '';\n }\n if (textToSend.includes('math:')) {\n const result = calcValue(_this, textToSend, val);\n if (result) {\n textToSend = result.textToSend;\n val = result.val;\n\n _this.log.debug(`TextToSend: ${textToSend} val: ${val}`);\n }\n }\n if (textToSend.includes('round:')) {\n const result = roundValue(val, textToSend);\n if (result) {\n _this.log.debug(\n `The Value was rounded ${JSON.stringify(val)} to ${JSON.stringify(result.val)}`,\n );\n val = result.val;\n textToSend = result.textToSend;\n }\n }\n if (textToSend.includes('{json')) {\n if (decomposeText(textToSend, '{json', '}').substring.includes('TextTable')) {\n const result = createTextTableFromJson(valueForJson, textToSend);\n if (result) {\n await sendToTelegram({\n user: userToSend,\n textToSend: result,\n keyboard: undefined,\n instance: telegramInstance,\n resize_keyboard: one_time_keyboard,\n one_time_keyboard: resize_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: parse_mode,\n });\n return;\n }\n _this.log.debug('Cannot create a Text-Table');\n } else {\n const result = createKeyboardFromJson(valueForJson, textToSend, element.id, userToSend);\n if (valueForJson && valueForJson.length > 0) {\n if (result && result.text && result.keyboard) {\n sendToTelegramSubmenu(\n userToSend,\n result.text,\n result.keyboard,\n telegramInstance,\n userListWithChatID,\n parse_mode,\n );\n }\n return;\n }\n await sendToTelegram({\n user: userToSend,\n textToSend: 'The state is empty!',\n keyboard: undefined,\n instance: telegramInstance,\n resize_keyboard: one_time_keyboard,\n one_time_keyboard: resize_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: parse_mode,\n });\n _this.log.debug('The state is empty!');\n return;\n }\n }\n\n const resultChange = changeValue(textToSend, val);\n\n if (resultChange) {\n debug([{ text: 'Value Changed to:', val: resultChange }]);\n val = resultChange.val;\n textToSend = resultChange.textToSend;\n } else {\n debug([{ text: 'No Change' }]);\n }\n if (textToSend.indexOf('&&') != -1) {\n text += `${textToSend.replace('&&', val.toString())}${newline}`;\n } else {\n text += `${textToSend} ${val}${newline}`;\n }\n } else {\n text += `${val} ${newline}`;\n }\n debug([{ text: 'Text:', val: text }]);\n\n if (i == part.getData?.length) {\n if (userToSend) {\n await sendToTelegram({\n user: userToSend,\n textToSend: text,\n keyboard: undefined,\n instance: telegramInstance,\n resize_keyboard: one_time_keyboard,\n one_time_keyboard: resize_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: parse_mode,\n });\n }\n }\n i++;\n });\n } catch (error: any) {\n error({\n array: [\n { text: 'Error GetData:', val: error.message },\n { text: 'Stack:', val: error.stack },\n ],\n });\n }\n });\n}\n\nexport { getState };\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["TelegramMenu", "_a", "_b", "error"]
|
|
7
7
|
}
|
package/build/lib/global.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lib/global.ts"],
|
|
4
|
-
"sourcesContent": ["import type { DecomposeText } from '
|
|
4
|
+
"sourcesContent": ["import type { DecomposeText } from '../types/types';\nimport { error } from './logging';\n\nexport const isDefined = <T>(value: T | undefined | null): value is T => value !== undefined && value !== null;\n\nexport const deleteDoubleEntriesInArray = (arr: string[]): string[] =>\n arr.filter((item, index) => arr.indexOf(item) === index);\n\nexport const replaceAll = (text: string, searchValue: string, replaceValue: string): string =>\n text.replace(new RegExp(searchValue, 'g'), replaceValue);\n\nexport function isJSON(_string: string): boolean {\n try {\n JSON.parse(_string);\n return true;\n } catch (error) {\n console.error([{ text: 'Error:', val: error }]);\n return false;\n }\n}\n\nexport function decomposeText(text: string, searchValue: string, secondValue: string): DecomposeText {\n const startindex = text.indexOf(searchValue);\n const endindex = text.indexOf(secondValue, startindex);\n const substring = text.substring(startindex, endindex + secondValue.length);\n const textWithoutSubstring = text.replace(substring, '').trim();\n return {\n startindex: startindex,\n endindex: endindex,\n substring: substring,\n textWithoutSubstring: textWithoutSubstring,\n };\n}\n\nexport const deepCopy = <T>(obj: T): T | undefined => {\n try {\n if (!obj) {\n return undefined;\n }\n return JSON.parse(JSON.stringify(obj));\n } catch (err) {\n console.error(`Error deepCopy: ${JSON.stringify(err)}`);\n }\n};\n\nexport const isString = (value: unknown): value is string => typeof value === 'string';\n\nexport const isTruthy = (value: string | number | boolean): boolean => ['1', 1, true, 'true'].includes(value);\n\nexport const isFalsy = (value: string | number | boolean | undefined | null): boolean =>\n ['0', 0, false, 'false', undefined, null].includes(value);\n\nexport function checkDirectoryIsOk(directory: string): boolean {\n if (['', null, undefined].includes(directory)) {\n error([\n {\n text: 'Error:',\n val: 'No directory to save the picture. Please add a directory in the settings with full read and write permissions.',\n },\n ]);\n return false;\n }\n return true;\n}\n\nexport function parseJSON<T>(value: string): T | undefined {\n try {\n return JSON.parse(value);\n } catch (error) {\n // @ts-expect-error\n error([{ text: 'Error:', val: error }]);\n return undefined;\n }\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAAsB;AAEf,MAAM,YAAY,CAAI,UAA4C,UAAU,UAAa,UAAU;AAEnG,MAAM,6BAA6B,CAAC,QACvC,IAAI,OAAO,CAAC,MAAM,UAAU,IAAI,QAAQ,IAAI,MAAM,KAAK;AAEpD,MAAM,aAAa,CAAC,MAAc,aAAqB,iBAC1D,KAAK,QAAQ,IAAI,OAAO,aAAa,GAAG,GAAG,YAAY;AAEpD,SAAS,OAAO,SAA0B;AAC7C,MAAI;AACA,SAAK,MAAM,OAAO;AAClB,WAAO;AAAA,EACX,SAASA,QAAO;AACZ,YAAQ,MAAM,CAAC,EAAE,MAAM,UAAU,KAAKA,OAAM,CAAC,CAAC;AAC9C,WAAO;AAAA,EACX;AACJ;AAEO,SAAS,cAAc,MAAc,aAAqB,aAAoC;AACjG,QAAM,aAAa,KAAK,QAAQ,WAAW;AAC3C,QAAM,WAAW,KAAK,QAAQ,aAAa,UAAU;AACrD,QAAM,YAAY,KAAK,UAAU,YAAY,WAAW,YAAY,MAAM;AAC1E,QAAM,uBAAuB,KAAK,QAAQ,WAAW,EAAE,EAAE,KAAK;AAC9D,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;AAEO,MAAM,WAAW,CAAI,QAA0B;AAClD,MAAI;AACA,QAAI,CAAC,KAAK;AACN,aAAO;AAAA,IACX;AACA,WAAO,KAAK,MAAM,KAAK,UAAU,GAAG,CAAC;AAAA,EACzC,SAAS,KAAK;AACV,YAAQ,MAAM,mBAAmB,KAAK,UAAU,GAAG,CAAC,EAAE;AAAA,EAC1D;AACJ;AAEO,MAAM,WAAW,CAAC,UAAoC,OAAO,UAAU;AAEvE,MAAM,WAAW,CAAC,UAA8C,CAAC,KAAK,GAAG,MAAM,MAAM,EAAE,SAAS,KAAK;AAErG,MAAM,UAAU,CAAC,UACpB,CAAC,KAAK,GAAG,OAAO,SAAS,QAAW,IAAI,EAAE,SAAS,KAAK;AAErD,SAAS,mBAAmB,WAA4B;AAC3D,MAAI,CAAC,IAAI,MAAM,MAAS,EAAE,SAAS,SAAS,GAAG;AAC3C,8BAAM;AAAA,MACF;AAAA,QACI,MAAM;AAAA,QACN,KAAK;AAAA,MACT;AAAA,IACJ,CAAC;AACD,WAAO;AAAA,EACX;AACA,SAAO;AACX;AAEO,SAAS,UAAa,OAA8B;AACvD,MAAI;AACA,WAAO,KAAK,MAAM,KAAK;AAAA,EAC3B,SAASA,QAAO;AAEZ,IAAAA,OAAM,CAAC,EAAE,MAAM,UAAU,KAAKA,OAAM,CAAC,CAAC;AACtC,WAAO;AAAA,EACX;AACJ;",
|
|
6
6
|
"names": ["error"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lib/httpRequest.ts"],
|
|
4
|
-
"sourcesContent": ["import axios from 'axios';\nimport { sendToTelegram } from './telegram';\nimport path from 'path';\nimport fs from 'fs';\nimport { debug, error } from './logging';\nimport type { Part, UserListWithChatId } from '
|
|
4
|
+
"sourcesContent": ["import axios from 'axios';\nimport { sendToTelegram } from './telegram';\nimport path from 'path';\nimport fs from 'fs';\nimport { debug, error } from './logging';\nimport type { Part, UserListWithChatId } from '../types/types';\nimport { checkDirectoryIsOk } from './global';\n\nasync function httpRequest(\n parts: Part,\n userToSend: string,\n instanceTelegram: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n directoryPicture: string,\n): Promise<boolean | undefined> {\n if (!parts.httpRequest) {\n return;\n }\n for (const part of parts.httpRequest) {\n const url = part.url;\n const userName = part.user;\n const password = part.password;\n const method = 'get';\n debug([{ text: 'URL:', val: url }]);\n try {\n //prettier-ignore\n const response = await axios(\n userName && password\n ? {\n method: method,\n url: url,\n responseType: \"arraybuffer\",\n auth: {\n username: userName,\n password: password,\n },\n }\n : {\n method: method,\n url: url,\n responseType: \"arraybuffer\",\n },\n );\n if (!part.filename) {\n return;\n }\n if (!checkDirectoryIsOk(directoryPicture)) {\n return;\n }\n const imagePath = path.join(directoryPicture, part.filename);\n\n fs.writeFileSync(imagePath, Buffer.from(response.data), 'binary');\n debug([{ text: 'Pic saved:', val: imagePath }]);\n\n await sendToTelegram({\n user: userToSend,\n textToSend: imagePath,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: 'false',\n });\n } catch (e: any) {\n error([\n { text: 'Error:', val: e.message },\n { text: 'Stack:', val: e.stack },\n { text: 'Server Response:', val: e.response.status },\n { text: 'Server data:', val: e.response.data },\n ]);\n }\n }\n return true;\n}\n\nexport { httpRequest };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,sBAA+B;AAC/B,kBAAiB;AACjB,gBAAe;AACf,qBAA6B;AAE7B,oBAAmC;AAEnC,eAAe,YACX,OACA,YACA,kBACA,iBACA,mBACA,oBACA,kBAC4B;AAC5B,MAAI,CAAC,MAAM,aAAa;AACpB;AAAA,EACJ;AACA,aAAW,QAAQ,MAAM,aAAa;AAClC,UAAM,MAAM,KAAK;AACjB,UAAM,WAAW,KAAK;AACtB,UAAM,WAAW,KAAK;AACtB,UAAM,SAAS;AACf,8BAAM,CAAC,EAAE,MAAM,QAAQ,KAAK,IAAI,CAAC,CAAC;AAClC,QAAI;AAEA,YAAM,WAAW,UAAM,aAAAA;AAAA,QACnB,YAAY,WACN;AAAA,UACE;AAAA,UACA;AAAA,UACA,cAAc;AAAA,UACd,MAAM;AAAA,YACF,UAAU;AAAA,YACV;AAAA,UACJ;AAAA,QACJ,IACE;AAAA,UACE;AAAA,UACA;AAAA,UACA,cAAc;AAAA,QAClB;AAAA,MACR;AACA,UAAI,CAAC,KAAK,UAAU;AAChB;AAAA,MACJ;AACA,UAAI,KAAC,kCAAmB,gBAAgB,GAAG;AACvC;AAAA,MACJ;AACA,YAAM,YAAY,YAAAC,QAAK,KAAK,kBAAkB,KAAK,QAAQ;AAE3D,gBAAAC,QAAG,cAAc,WAAW,OAAO,KAAK,SAAS,IAAI,GAAG,QAAQ;AAChE,gCAAM,CAAC,EAAE,MAAM,cAAc,KAAK,UAAU,CAAC,CAAC;AAE9C,gBAAM,gCAAe;AAAA,QACjB,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,YAAY;AAAA,MAChB,CAAC;AAAA,IACL,SAAS,GAAQ;AACb,gCAAM;AAAA,QACF,EAAE,MAAM,UAAU,KAAK,EAAE,QAAQ;AAAA,QACjC,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,QAC/B,EAAE,MAAM,oBAAoB,KAAK,EAAE,SAAS,OAAO;AAAA,QACnD,EAAE,MAAM,gBAAgB,KAAK,EAAE,SAAS,KAAK;AAAA,MACjD,CAAC;AAAA,IACL;AAAA,EACJ;AACA,SAAO;AACX;",
|
|
6
6
|
"names": ["axios", "path", "fs"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,54 @@
|
|
|
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 json_exports = {};
|
|
20
|
+
__export(json_exports, {
|
|
21
|
+
escapeJsonString: () => escapeJsonString,
|
|
22
|
+
makeValidJson: () => makeValidJson,
|
|
23
|
+
toJson: () => toJson
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(json_exports);
|
|
26
|
+
var import_logging = require("../app/logging");
|
|
27
|
+
const escapeJsonString = (input) => {
|
|
28
|
+
return input.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/'/g, '"');
|
|
29
|
+
};
|
|
30
|
+
const makeValidJson = (input, adapter) => {
|
|
31
|
+
try {
|
|
32
|
+
const sanitizedInput = input.trim();
|
|
33
|
+
const parsed = JSON.parse(sanitizedInput);
|
|
34
|
+
return { validJson: JSON.stringify(parsed), error: false };
|
|
35
|
+
} catch (error) {
|
|
36
|
+
console.log(error);
|
|
37
|
+
try {
|
|
38
|
+
const escapedString = escapeJsonString(input);
|
|
39
|
+
const parsed = JSON.parse(escapedString);
|
|
40
|
+
return { validJson: JSON.stringify(parsed), error: false };
|
|
41
|
+
} catch (innerError) {
|
|
42
|
+
(0, import_logging.errorLogger)("Error makeValidJson:", innerError, adapter);
|
|
43
|
+
return { validJson: input, error: true };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const toJson = (val) => JSON.stringify(val, null, 2);
|
|
48
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
49
|
+
0 && (module.exports = {
|
|
50
|
+
escapeJsonString,
|
|
51
|
+
makeValidJson,
|
|
52
|
+
toJson
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/lib/json.ts"],
|
|
4
|
+
"sourcesContent": ["import { errorLogger } from '../app/logging';\nimport type { Adapter } from '../types/types';\n\nexport const escapeJsonString = (input: string): string => {\n return input\n .replace(/\\\\/g, '\\\\\\\\') // Escape Backslashes\n .replace(/\"/g, '\\\\\"') // Escape doppelte Anf\u00FChrungszeichen\n .replace(/'/g, '\"'); // Ersetze einfache Anf\u00FChrungszeichen durch doppelte\n};\n\nexport const makeValidJson = (input: string, adapter: Adapter): { validJson: string; error: boolean } => {\n try {\n // Entferne unn\u00F6tige Leerzeichen und \u00FCberpr\u00FCfe die Struktur\n const sanitizedInput = input.trim();\n\n // Versuche, den String direkt zu parsen\n const parsed = JSON.parse(sanitizedInput);\n return { validJson: JSON.stringify(parsed), error: false };\n } catch (error) {\n console.log(error);\n // Wenn der direkte Parse-Versuch fehlschl\u00E4gt, wende Escaping an\n try {\n const escapedString = escapeJsonString(input);\n const parsed = JSON.parse(escapedString);\n return { validJson: JSON.stringify(parsed), error: false };\n } catch (innerError) {\n errorLogger('Error makeValidJson:', innerError, adapter);\n return { validJson: input, error: true };\n }\n }\n};\n\nexport const toJson = (val: string | number | boolean | object): string => JSON.stringify(val, null, 2);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA4B;AAGrB,MAAM,mBAAmB,CAAC,UAA0B;AACvD,SAAO,MACF,QAAQ,OAAO,MAAM,EACrB,QAAQ,MAAM,KAAK,EACnB,QAAQ,MAAM,GAAG;AAC1B;AAEO,MAAM,gBAAgB,CAAC,OAAe,YAA4D;AACrG,MAAI;AAEA,UAAM,iBAAiB,MAAM,KAAK;AAGlC,UAAM,SAAS,KAAK,MAAM,cAAc;AACxC,WAAO,EAAE,WAAW,KAAK,UAAU,MAAM,GAAG,OAAO,MAAM;AAAA,EAC7D,SAAS,OAAO;AACZ,YAAQ,IAAI,KAAK;AAEjB,QAAI;AACA,YAAM,gBAAgB,iBAAiB,KAAK;AAC5C,YAAM,SAAS,KAAK,MAAM,aAAa;AACvC,aAAO,EAAE,WAAW,KAAK,UAAU,MAAM,GAAG,OAAO,MAAM;AAAA,IAC7D,SAAS,YAAY;AACjB,sCAAY,wBAAwB,YAAY,OAAO;AACvD,aAAO,EAAE,WAAW,OAAO,OAAO,KAAK;AAAA,IAC3C;AAAA,EACJ;AACJ;AAEO,MAAM,SAAS,CAAC,QAAoD,KAAK,UAAU,KAAK,MAAM,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lib/jsonTable.ts"],
|
|
4
|
-
"sourcesContent": ["import { decomposeText, parseJSON } from './global';\nimport { debug, error } from './logging';\nimport type { LastText, ValArray, KeyboardItem, Keyboard } from '
|
|
4
|
+
"sourcesContent": ["import { decomposeText, parseJSON } from './global';\nimport { debug, error } from './logging';\nimport type { LastText, ValArray, KeyboardItem, Keyboard } from '../types/types';\nconst lastText: LastText = {};\nconst createKeyboardFromJson = (\n val: string,\n text: string | null,\n id: string,\n user: string,\n): { text: string; keyboard: Keyboard } | undefined => {\n try {\n if (text) {\n lastText[user] = text;\n } else {\n text = lastText[user];\n }\n const array = decomposeText(text, '{json:', '}').substring.split(';');\n const headline = array[2];\n const itemArray: string[] = array[1].replace('[', '').replace(']', '').replace(/\"/g, '').split(',');\n let idShoppingList = false;\n if (array.length > 3 && array[3] == 'shoppinglist') {\n idShoppingList = true;\n }\n\n debug([\n { text: 'Val:', val },\n { text: 'Type of Val:', val },\n ]);\n\n const valArray: ValArray[] | undefined = parseJSON(val);\n if (!valArray) {\n return;\n }\n\n const keyboard: Keyboard = { inline_keyboard: [] };\n\n valArray.forEach((element, index) => {\n const firstRow: KeyboardItem[] = [];\n const rowArray: KeyboardItem[] = [];\n itemArray.forEach(item => {\n if (index == 0) {\n const btnText: string = item.split(':')[1];\n if (btnText.length > 0) {\n firstRow.push({ text: btnText, callback_data: '1' });\n }\n }\n if (idShoppingList) {\n const value = element.buttondelete;\n const valueDeleteLinkArray = decomposeText(value, \"('\", \"')\")\n .substring.replace(\"('\", '')\n .replace(\",true')\", '')\n .split('.');\n const instanceAlexa = valueDeleteLinkArray[1];\n const valueDeleteId = valueDeleteLinkArray[5];\n\n const instanceShoppingListID = `${id.split('.')[1]}.${id.split('.')[2]}`;\n rowArray.push({\n text: element[item.split(':')[0]],\n callback_data: `sList:${instanceShoppingListID}:${instanceAlexa}:${valueDeleteId}:`,\n });\n } else {\n rowArray.push({ text: element[item.split(':')[0]], callback_data: '1' });\n }\n });\n if (index == 0) {\n keyboard.inline_keyboard.push(firstRow);\n }\n keyboard.inline_keyboard.push(rowArray);\n });\n\n debug([{ text: 'keyboard:', val: keyboard }]);\n\n return { text: headline, keyboard };\n } catch (err: any) {\n error([\n { text: 'Error createKeyboardFromJson:', val: err.message },\n { text: 'Stack:', val: err.stack },\n ]);\n }\n};\n\nfunction createTextTableFromJson(val: string, textToSend: string): string | undefined {\n try {\n if (!val) {\n return;\n }\n const substring = decomposeText(textToSend, '{json:', '}').substring;\n const array = substring.split(';');\n const itemArray: string[] = array[1].replace('[', '').replace(']', '').replace(/\"/g, '').split(',');\n const valArray: ValArray[] = JSON.parse(val);\n // Array f\u00FCr die Gr\u00F6\u00DFte L\u00E4nge der Items\n const lengthArray: number[] = [];\n // Tr\u00E4gt f\u00FCr jedes Item einen Eintrag im lengthArray ein\n itemArray.forEach(element => {\n lengthArray.push(element.split(':')[1].length);\n });\n valArray.forEach(element => {\n itemArray.forEach((item, index) => {\n if (lengthArray[index] < element[item.split(':')[0]].toString().length) {\n lengthArray[index] = element[item.split(':')[0]].toString().length;\n }\n });\n });\n debug([{ text: 'Length of rows', val: lengthArray }]);\n const headline = array[2];\n let textTable = textToSend.replace(substring, '').trim();\n if (textTable != '') {\n textTable += ' \\n\\n';\n }\n textTable += ` ${headline} \\n\\``;\n const enlargeColumn = 1;\n const reduce = lengthArray.length == 1 ? 2 : 0;\n const lineLength = lengthArray.reduce((a, b) => a + b, 0) + 5 - reduce + enlargeColumn * lengthArray.length;\n // Breakline\n textTable += `${'-'.repeat(lineLength)} \\n`;\n valArray.forEach((element, elementIndex) => {\n itemArray.forEach((item, index) => {\n // TableHead\n if (elementIndex == 0 && index == 0) {\n textTable += '|';\n itemArray.forEach((item2, i) => {\n if (item2.split(':')[1].length > 0) {\n textTable += ` ${item2\n .split(':')[1]\n .toString()\n .padEnd(lengthArray[i] + enlargeColumn, ' ')}|`;\n if (i == itemArray.length - 1) {\n textTable += '\\n';\n // Breakline\n textTable += `${'-'.repeat(lineLength)} \\n`;\n }\n } else {\n textTable = textTable.slice(0, -1);\n }\n });\n }\n // TableBody\n if (index == 0) {\n textTable += '|';\n }\n textTable += ` ${element[item.split(':')[0]].toString().padEnd(lengthArray[index] + enlargeColumn, ' ')}|`;\n if (index == itemArray.length - 1) {\n textTable += '\\n';\n }\n });\n });\n // Breakline\n textTable += '-'.repeat(lineLength);\n textTable += '`';\n return textTable;\n } catch (e: any) {\n error([\n { text: 'Error createTextTableFromJson:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\nexport { createKeyboardFromJson, createTextTableFromJson };\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
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 math_exports = {};
|
|
20
|
+
__export(math_exports, {
|
|
21
|
+
evaluate: () => evaluate
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(math_exports);
|
|
24
|
+
var import_logging = require("../app/logging");
|
|
25
|
+
function evaluate(val, adapter) {
|
|
26
|
+
var _a;
|
|
27
|
+
try {
|
|
28
|
+
if (Array.isArray(val)) {
|
|
29
|
+
return { val: (_a = eval(val.join(" "))) != null ? _a : "", error: false };
|
|
30
|
+
}
|
|
31
|
+
return { val: eval(val), error: false };
|
|
32
|
+
} catch (e) {
|
|
33
|
+
(0, import_logging.errorLogger)("Error Eval:", e, adapter);
|
|
34
|
+
return { val: "", error: true };
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
38
|
+
0 && (module.exports = {
|
|
39
|
+
evaluate
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=math.js.map
|