iobroker.javascript 8.9.2 → 9.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/admin/assets/{createSvgIcon-BdRvDw53.js → createSvgIcon-BQT-7-GS.js} +1 -1
- package/admin/assets/{docs-6na4NFtj.js → docs-BrInh2Pn.js} +2 -2
- package/admin/assets/index-BzKS5vx-.js +1329 -0
- package/admin/assets/index-CfuHVX2B.js +193 -0
- package/admin/assets/index-CuCs5aLs.js +5 -0
- package/admin/assets/index-tExaxF69.js +930 -0
- package/admin/assets/inheritsLoose--KnFDOw1.js +36 -0
- package/admin/assets/{useTheme-Cl1QmYFL.js → useTheme-DF6qfrtI.js} +1 -1
- package/admin/custom/assets/{Components-ChpTW7sE.js → Components-D9kRsHNY.js} +1 -1
- package/admin/custom/assets/{DefaultPropsProvider-CHpMCMgA.js → DefaultPropsProvider-9qubdy-V.js} +2 -2
- package/admin/custom/assets/{FilledInput-CtcQVKyj.js → FilledInput-BpuM_GyB.js} +1 -1
- package/admin/custom/assets/Tabs-CvEv0KOT.js +138 -0
- package/admin/custom/assets/ThemeProvider-DZTpMR8n.js +29 -0
- package/admin/custom/assets/{createSvgIcon-C_vAELFU.js → createSvgIcon-BQThUM-f.js} +1 -1
- package/admin/custom/assets/hostInit-CrAs5YZS.js +1 -1
- package/admin/custom/assets/index-BXmu6lpn.js +904 -0
- package/admin/custom/assets/{index-DwsbskQy.js → index-DIWNdd4a.js} +1 -1
- package/admin/custom/assets/index-DZqbj5K4.js +55 -0
- package/admin/custom/assets/{index-D5apCzjJ.js → index-Dbe-II7_.js} +6 -6
- package/admin/custom/assets/index-sawv1cUe.js +1399 -0
- package/admin/custom/assets/{virtualExposes-BPncCdUy.js → virtualExposes-BMKIjWrE.js} +2 -2
- package/admin/custom/customComponents.js +2 -2
- package/admin/custom/i18n/de.json +29 -29
- package/admin/custom/i18n/es.json +29 -29
- package/admin/custom/i18n/fr.json +29 -29
- package/admin/custom/i18n/it.json +29 -29
- package/admin/custom/i18n/nl.json +29 -29
- package/admin/custom/i18n/pl.json +29 -29
- package/admin/custom/i18n/pt.json +29 -29
- package/admin/custom/i18n/ru.json +29 -29
- package/admin/custom/i18n/uk.json +29 -29
- package/admin/custom/i18n/zh-cn.json +29 -29
- package/admin/google-blockly/blockly_compressed.js +875 -887
- package/admin/google-blockly/blocks_compressed.js +38 -41
- package/admin/google-blockly/javascript_compressed.js +19 -54
- package/admin/google-blockly/media/delete-icon.svg +1 -0
- package/admin/google-blockly/media/foldout-icon.svg +1 -0
- package/admin/google-blockly/media/resize-handle.svg +3 -0
- package/admin/i18n/de.json +61 -0
- package/admin/i18n/en.json +61 -0
- package/admin/i18n/es.json +61 -0
- package/admin/i18n/fr.json +61 -0
- package/admin/i18n/it.json +61 -0
- package/admin/i18n/nl.json +61 -0
- package/admin/i18n/pl.json +61 -0
- package/admin/i18n/pt.json +61 -0
- package/admin/i18n/ru.json +61 -0
- package/admin/i18n/uk.json +61 -0
- package/admin/i18n/zh-cn.json +61 -0
- package/admin/jsonConfig.json +2 -0
- package/admin/mf-manifest.json +1 -1
- package/admin/remoteEntry.js +2 -2
- package/admin/tab.html +4 -4
- package/admin/vsFont/README.md +1 -1
- package/admin/vsFont/createJson.js +1 -1
- package/build-backend/lib/consts.js +346 -0
- package/build-backend/lib/consts.js.map +1 -0
- package/build-backend/lib/convert.js +120 -0
- package/build-backend/lib/convert.js.map +1 -0
- package/build-backend/lib/debug.js +163 -0
- package/build-backend/lib/debug.js.map +1 -0
- package/{lib → build-backend/lib}/debugger.js +261 -232
- package/build-backend/lib/debugger.js.map +1 -0
- package/build-backend/lib/eventObj.js +177 -0
- package/build-backend/lib/eventObj.js.map +1 -0
- package/build-backend/lib/inspect.js +728 -0
- package/build-backend/lib/inspect.js.map +1 -0
- package/build-backend/lib/javascript.d.ts +1972 -0
- package/{lib → build-backend/lib}/mirror.js +185 -182
- package/build-backend/lib/mirror.js.map +1 -0
- package/build-backend/lib/nodeModulesManagement.js +25 -0
- package/build-backend/lib/nodeModulesManagement.js.map +1 -0
- package/build-backend/lib/patternCompareFunctions.js +321 -0
- package/build-backend/lib/patternCompareFunctions.js.map +1 -0
- package/build-backend/lib/protectFs.js +477 -0
- package/build-backend/lib/protectFs.js.map +1 -0
- package/build-backend/lib/request.js +89 -0
- package/build-backend/lib/request.js.map +1 -0
- package/{lib → build-backend/lib}/sandbox.js +2046 -1852
- package/build-backend/lib/sandbox.js.map +1 -0
- package/build-backend/lib/scheduler.js +553 -0
- package/build-backend/lib/scheduler.js.map +1 -0
- package/build-backend/lib/tools.js +183 -0
- package/build-backend/lib/tools.js.map +1 -0
- package/build-backend/lib/typescriptSettings.js +39 -0
- package/build-backend/lib/typescriptSettings.js.map +1 -0
- package/build-backend/lib/typescriptTools.js +435 -0
- package/build-backend/lib/typescriptTools.js.map +1 -0
- package/build-backend/lib/utils.js +66 -0
- package/build-backend/lib/utils.js.map +1 -0
- package/{lib → build-backend/lib}/words.js +23 -30
- package/build-backend/lib/words.js.map +1 -0
- package/build-backend/main.js +2671 -0
- package/build-backend/main.js.map +1 -0
- package/build-backend/types.d.ts +742 -0
- package/docs/de/README.md +1 -1
- package/docs/en/README.md +1 -1
- package/docs/en/javascript.md +10 -6
- package/docs/en/upgrade-guide.md +5 -2
- package/docs/ru/README.md +1 -1
- package/install/installTypings.js +34 -47
- package/io-package.json +14 -14
- package/package.json +14 -14
- package/admin/assets/index-DCkkMRRa.js +0 -1335
- package/admin/assets/index-DJfSBoBB.js +0 -192
- package/admin/assets/index-DTiA4WdK.js +0 -930
- package/admin/assets/index-qABB1JVe.js +0 -5
- package/admin/assets/inheritsLoose-BW-3V39H.js +0 -36
- package/admin/custom/assets/Tabs-C1KOyWRi.js +0 -137
- package/admin/custom/assets/ThemeProvider-Buvx5nSd.js +0 -29
- package/admin/custom/assets/index-BGCRznKh.js +0 -904
- package/admin/custom/assets/index-DfBPYXqA.js +0 -55
- package/admin/custom/assets/index-jIr6kOLK.js +0 -1398
- package/admin/i18n/de/flat.txt +0 -427
- package/admin/i18n/de/translations.json +0 -429
- package/admin/i18n/en/flat.txt +0 -427
- package/admin/i18n/en/translations.json +0 -429
- package/admin/i18n/es/flat.txt +0 -427
- package/admin/i18n/es/translations.json +0 -429
- package/admin/i18n/flat.txt +0 -427
- package/admin/i18n/fr/flat.txt +0 -427
- package/admin/i18n/fr/translations.json +0 -429
- package/admin/i18n/it/flat.txt +0 -427
- package/admin/i18n/it/translations.json +0 -429
- package/admin/i18n/nl/flat.txt +0 -427
- package/admin/i18n/nl/translations.json +0 -429
- package/admin/i18n/pl/flat.txt +0 -427
- package/admin/i18n/pl/translations.json +0 -429
- package/admin/i18n/pt/flat.txt +0 -427
- package/admin/i18n/pt/translations.json +0 -429
- package/admin/i18n/ru/flat.txt +0 -427
- package/admin/i18n/ru/translations.json +0 -429
- package/admin/i18n/uk/flat.txt +0 -427
- package/admin/i18n/uk/translations.json +0 -429
- package/admin/i18n/zh-cn/flat.txt +0 -427
- package/admin/i18n/zh-cn/translations.json +0 -429
- package/lib/adapter-config.d.ts +0 -16
- package/lib/consts.js +0 -83
- package/lib/convert.js +0 -106
- package/lib/debug.js +0 -154
- package/lib/eventObj.js +0 -201
- package/lib/inspect.js +0 -688
- package/lib/javascript.d.ts +0 -1858
- package/lib/nodeModulesManagement.js +0 -26
- package/lib/patternCompareFunctions.js +0 -391
- package/lib/protectFs.js +0 -401
- package/lib/request.js +0 -72
- package/lib/scheduler.js +0 -447
- package/lib/tools.js +0 -192
- package/lib/typescriptSettings.js +0 -44
- package/lib/typescriptTools.js +0 -529
- package/lib/utils.js +0 -87
- package/main.js +0 -2653
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
const { exec: execAsync } = require('promisify-child-process');
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Request a module name by given url using `npm view`
|
|
5
|
-
*
|
|
6
|
-
* @param {string} url the url to the package which should be installed via npm
|
|
7
|
-
* @returns {Promise<string>}
|
|
8
|
-
*/
|
|
9
|
-
async function requestModuleNameByUrl(url) {
|
|
10
|
-
const res = await execAsync(`npm view ${url} name`, {
|
|
11
|
-
windowsHide: true,
|
|
12
|
-
encoding: 'utf8'
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
if (typeof res.stdout !== 'string') {
|
|
16
|
-
throw new Error(
|
|
17
|
-
`Could not determine module name for url "${url}". Unexpected stdout: "${res.stdout ? res.stdout.toString() : ''}"`
|
|
18
|
-
);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return res.stdout.trim();
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
module.exports = {
|
|
25
|
-
requestModuleNameByUrl
|
|
26
|
-
};
|
|
@@ -1,391 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
function isRegExp(obj) {
|
|
4
|
-
return !!(obj && obj.test && obj.exec && (obj.ignoreCase || obj.ignoreCase === false));
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @param {{}} pattern The pattern object to use
|
|
9
|
-
* @param {string} propName The name of the property to compare
|
|
10
|
-
* @param {(event: any) => any} [eventPropertyExtractor] If given, this function is used to extract the property value from the event object. Otherwise the propName is used
|
|
11
|
-
* @param {boolean} [invert] Whether to invert the result
|
|
12
|
-
*/
|
|
13
|
-
function stringOrRegExpCompare(pattern, propName, eventPropertyExtractor, invert) {
|
|
14
|
-
/** @type {RegExp | string | string[]} */
|
|
15
|
-
const field = pattern[propName];
|
|
16
|
-
const hasExtractor = typeof eventPropertyExtractor === 'function';
|
|
17
|
-
if (isRegExp(field)) {
|
|
18
|
-
return function (event) {
|
|
19
|
-
const eventValue = hasExtractor ? eventPropertyExtractor(event) : event[propName];
|
|
20
|
-
const ret = eventValue != null && /** @type {RegExp} */ (field).test(eventValue);
|
|
21
|
-
return invert ? !ret : ret;
|
|
22
|
-
};
|
|
23
|
-
} else if (Array.isArray(field)) {
|
|
24
|
-
return function (event) {
|
|
25
|
-
const eventValue = hasExtractor ? eventPropertyExtractor(event) : event[propName];
|
|
26
|
-
// An array matches when any element is found that satisfies the constraint
|
|
27
|
-
const ret = eventValue != null && field.find(f => f === eventValue) != null;
|
|
28
|
-
return invert ? !ret : ret;
|
|
29
|
-
};
|
|
30
|
-
} else {
|
|
31
|
-
return function (event) {
|
|
32
|
-
const eventValue = hasExtractor ? eventPropertyExtractor(event) : event[propName];
|
|
33
|
-
const ret = eventValue != null && field === eventValue;
|
|
34
|
-
return invert ? !ret : ret;
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const patternCompareFunctions = {
|
|
40
|
-
|
|
41
|
-
logic: function (pattern) {
|
|
42
|
-
},
|
|
43
|
-
|
|
44
|
-
id: (pattern) => stringOrRegExpCompare(pattern, 'id'),
|
|
45
|
-
|
|
46
|
-
name: (pattern) => stringOrRegExpCompare(pattern, 'name'),
|
|
47
|
-
|
|
48
|
-
change: function (pattern) {
|
|
49
|
-
switch (pattern.change) {
|
|
50
|
-
case 'eq': return function (event) { return event.newState.val === event.oldState.val; };
|
|
51
|
-
case 'ne': return function (event) { return event.newState.val !== event.oldState.val; };
|
|
52
|
-
case 'gt': return function (event) { return event.newState.val > event.oldState.val; };
|
|
53
|
-
case 'ge': return function (event) { return event.newState.val >= event.oldState.val; };
|
|
54
|
-
case 'lt': return function (event) { return event.newState.val < event.oldState.val; };
|
|
55
|
-
case 'le': return function (event) { return event.newState.val <= event.oldState.val; };
|
|
56
|
-
default: return function (/* event */) { return true; };
|
|
57
|
-
// on any other logic, just signal about a message
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
ack: function (pattern) {
|
|
61
|
-
if (pattern.ack === true || pattern.ack === 'true') {
|
|
62
|
-
return function (event) {
|
|
63
|
-
return event.newState.ack === true || event.newState.ack === 'true';
|
|
64
|
-
};
|
|
65
|
-
} else {
|
|
66
|
-
return function (event) {
|
|
67
|
-
return event.newState.ack === false || event.newState.ack === 'false';
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
oldAck: function (pattern) {
|
|
72
|
-
if (pattern.oldAck === true || pattern.oldAck === 'true') {
|
|
73
|
-
return function (event) {
|
|
74
|
-
return event.oldState.ack === true || event.oldState.ack === 'true';
|
|
75
|
-
};
|
|
76
|
-
} else {
|
|
77
|
-
return function (event) {
|
|
78
|
-
return event.oldState.ack === false || event.oldState.ack === 'false';
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
},
|
|
82
|
-
|
|
83
|
-
q: function (pattern) {
|
|
84
|
-
const q = pattern.q;
|
|
85
|
-
return function (event) {
|
|
86
|
-
return q === '*' || q === event.newState.q;
|
|
87
|
-
};
|
|
88
|
-
},
|
|
89
|
-
oldQ: function (pattern) {
|
|
90
|
-
const q = pattern.oldQ;
|
|
91
|
-
return function (event) {
|
|
92
|
-
return q === '*' || q === event.oldState.q;
|
|
93
|
-
};
|
|
94
|
-
},
|
|
95
|
-
|
|
96
|
-
val: function (pattern) {
|
|
97
|
-
const pval = pattern.val;
|
|
98
|
-
return function (event) {
|
|
99
|
-
return pval === event.newState.val;
|
|
100
|
-
};
|
|
101
|
-
},
|
|
102
|
-
valGt: function (pattern) {
|
|
103
|
-
const pvalGt = pattern.valGt;
|
|
104
|
-
return function (event) {
|
|
105
|
-
return event.newState.val > pvalGt;
|
|
106
|
-
};
|
|
107
|
-
},
|
|
108
|
-
valGe: function (pattern) {
|
|
109
|
-
const pvalGe = pattern.valGe;
|
|
110
|
-
return function (event) {
|
|
111
|
-
return event.newState.val >= pvalGe;
|
|
112
|
-
};
|
|
113
|
-
},
|
|
114
|
-
valLt: function (pattern) {
|
|
115
|
-
const pvalLt = pattern.valLt;
|
|
116
|
-
return function (event) {
|
|
117
|
-
return event.newState.val < pvalLt;
|
|
118
|
-
};
|
|
119
|
-
},
|
|
120
|
-
valLe: function (pattern) {
|
|
121
|
-
const pvalLe = pattern.valLe;
|
|
122
|
-
return function (event) {
|
|
123
|
-
return event.newState.val <= pvalLe;
|
|
124
|
-
};
|
|
125
|
-
},
|
|
126
|
-
valNe: function (pattern) {
|
|
127
|
-
const pvalNe = pattern.valNe;
|
|
128
|
-
return function (event) {
|
|
129
|
-
return event.newState.val !== pvalNe;
|
|
130
|
-
};
|
|
131
|
-
},
|
|
132
|
-
|
|
133
|
-
oldVal: function (pattern) {
|
|
134
|
-
const poldVal = pattern.oldVal;
|
|
135
|
-
return function (event) {
|
|
136
|
-
return poldVal === event.oldState.val;
|
|
137
|
-
};
|
|
138
|
-
},
|
|
139
|
-
oldValGt: function (pattern) {
|
|
140
|
-
const poldValGt = pattern.oldValGt;
|
|
141
|
-
return function (event) {
|
|
142
|
-
return event.oldState.val > poldValGt;
|
|
143
|
-
};
|
|
144
|
-
},
|
|
145
|
-
oldValGe: function (pattern) {
|
|
146
|
-
const poldValGe = pattern.oldValGe;
|
|
147
|
-
return function (event) {
|
|
148
|
-
return event.oldState.val >= poldValGe;
|
|
149
|
-
};
|
|
150
|
-
},
|
|
151
|
-
oldValLt: function (pattern) {
|
|
152
|
-
const poldValLt = pattern.oldValLt;
|
|
153
|
-
return function (event) {
|
|
154
|
-
return event.oldState.val < poldValLt;
|
|
155
|
-
};
|
|
156
|
-
},
|
|
157
|
-
oldValLe: function (pattern) {
|
|
158
|
-
const poldValLe = pattern.oldValLe;
|
|
159
|
-
return function (event) {
|
|
160
|
-
return event.oldState.val <= poldValLe;
|
|
161
|
-
};
|
|
162
|
-
},
|
|
163
|
-
oldValNe: function (pattern) {
|
|
164
|
-
const poldValNe = pattern.oldValNe;
|
|
165
|
-
return function (event) {
|
|
166
|
-
return event.oldState.val !== poldValNe;
|
|
167
|
-
};
|
|
168
|
-
},
|
|
169
|
-
|
|
170
|
-
ts: function (pattern) {
|
|
171
|
-
const pts = pattern.ts;
|
|
172
|
-
return function (event) {
|
|
173
|
-
return pts === event.newState.ts;
|
|
174
|
-
};
|
|
175
|
-
},
|
|
176
|
-
tsGt: function (pattern) {
|
|
177
|
-
const ptsGt = pattern.tsGt;
|
|
178
|
-
return function (event) {
|
|
179
|
-
return event.newState.ts > ptsGt;
|
|
180
|
-
};
|
|
181
|
-
},
|
|
182
|
-
tsGe: function (pattern) {
|
|
183
|
-
const ptsGe = pattern.tsGe;
|
|
184
|
-
return function (event) {
|
|
185
|
-
return event.newState.ts >= ptsGe;
|
|
186
|
-
};
|
|
187
|
-
},
|
|
188
|
-
tsLt: function (pattern) {
|
|
189
|
-
const ptsLt = pattern.tsLt;
|
|
190
|
-
return function (event) {
|
|
191
|
-
return event.newState.ts < ptsLt;
|
|
192
|
-
};
|
|
193
|
-
},
|
|
194
|
-
tsLe: function (pattern) {
|
|
195
|
-
const ptsLe = pattern.tsLe;
|
|
196
|
-
return function (event) {
|
|
197
|
-
return event.newState.ts <= ptsLe;
|
|
198
|
-
};
|
|
199
|
-
},
|
|
200
|
-
|
|
201
|
-
oldTs: function (pattern) {
|
|
202
|
-
const poldTs = pattern.oldTs;
|
|
203
|
-
return function (event) {
|
|
204
|
-
return poldTs === event.oldState.ts;
|
|
205
|
-
};
|
|
206
|
-
},
|
|
207
|
-
oldTsGt: function (pattern) {
|
|
208
|
-
const poldTsGt = pattern.oldTsGt;
|
|
209
|
-
return function (event) {
|
|
210
|
-
return event.oldState.ts > poldTsGt;
|
|
211
|
-
};
|
|
212
|
-
},
|
|
213
|
-
oldTsGe: function (pattern) {
|
|
214
|
-
const poldTsGe = pattern.oldTsGe;
|
|
215
|
-
return function (event) {
|
|
216
|
-
return event.oldState.ts >= poldTsGe;
|
|
217
|
-
};
|
|
218
|
-
},
|
|
219
|
-
oldTsLt: function (pattern) {
|
|
220
|
-
const poldTsLt = pattern.oldTsLt;
|
|
221
|
-
return function (event) {
|
|
222
|
-
return event.oldState.ts < poldTsLt;
|
|
223
|
-
};
|
|
224
|
-
},
|
|
225
|
-
oldTsLe: function (pattern) {
|
|
226
|
-
const poldTsLe = pattern.oldTsLe;
|
|
227
|
-
return function (event) {
|
|
228
|
-
return event.oldState.ts <= poldTsLe;
|
|
229
|
-
};
|
|
230
|
-
},
|
|
231
|
-
|
|
232
|
-
lc: function (pattern) {
|
|
233
|
-
const plc = pattern.lc;
|
|
234
|
-
return function (event) {
|
|
235
|
-
return plc === event.newState.lc;
|
|
236
|
-
};
|
|
237
|
-
},
|
|
238
|
-
lcGt: function (pattern) {
|
|
239
|
-
const plcGt = pattern.lcGt;
|
|
240
|
-
return function (event) {
|
|
241
|
-
return event.newState.lc > plcGt;
|
|
242
|
-
};
|
|
243
|
-
},
|
|
244
|
-
lcGe: function (pattern) {
|
|
245
|
-
const plcGe = pattern.lcGe;
|
|
246
|
-
return function (event) {
|
|
247
|
-
return event.newState.lc >= plcGe;
|
|
248
|
-
};
|
|
249
|
-
},
|
|
250
|
-
lcLt: function (pattern) {
|
|
251
|
-
const plcLt = pattern.lcLt;
|
|
252
|
-
return function (event) {
|
|
253
|
-
return event.newState.lc < plcLt;
|
|
254
|
-
};
|
|
255
|
-
},
|
|
256
|
-
lcLe: function (pattern) {
|
|
257
|
-
const plcLe = pattern.lcLe;
|
|
258
|
-
return function (event) {
|
|
259
|
-
return event.newState.lc <= plcLe;
|
|
260
|
-
};
|
|
261
|
-
},
|
|
262
|
-
|
|
263
|
-
oldLc: function (pattern) {
|
|
264
|
-
const poldLc = pattern.oldLc;
|
|
265
|
-
return function (event) {
|
|
266
|
-
return poldLc === event.oldState.lc;
|
|
267
|
-
};
|
|
268
|
-
},
|
|
269
|
-
oldLcGt: function (pattern) {
|
|
270
|
-
const poldLcGt = pattern.oldLcGt;
|
|
271
|
-
return function (event) {
|
|
272
|
-
return event.oldState.lc > poldLcGt;
|
|
273
|
-
};
|
|
274
|
-
},
|
|
275
|
-
oldLcGe: function (pattern) {
|
|
276
|
-
const poldLcGe = pattern.oldLcGe;
|
|
277
|
-
return function (event) {
|
|
278
|
-
return event.oldState.lc >= poldLcGe;
|
|
279
|
-
};
|
|
280
|
-
},
|
|
281
|
-
oldLcLt: function (pattern) {
|
|
282
|
-
const poldLcLt = pattern.oldLcLt;
|
|
283
|
-
return function (event) {
|
|
284
|
-
return event.oldState.lc < poldLcLt;
|
|
285
|
-
};
|
|
286
|
-
},
|
|
287
|
-
oldLcLe: function (pattern) {
|
|
288
|
-
const poldLcLe = pattern.oldLcLe;
|
|
289
|
-
return function (event) {
|
|
290
|
-
return event.oldState.lc <= poldLcLe;
|
|
291
|
-
};
|
|
292
|
-
},
|
|
293
|
-
|
|
294
|
-
from: (pattern) => stringOrRegExpCompare(pattern, 'from', event => event && event.newState && event.newState.from),
|
|
295
|
-
|
|
296
|
-
fromNe: (pattern) => stringOrRegExpCompare(pattern, 'fromNe', event => event && event.newState && event.newState.from, true),
|
|
297
|
-
|
|
298
|
-
oldFrom: pattern => stringOrRegExpCompare(pattern, 'oldFrom', event => event && event.oldState && event.oldState.from),
|
|
299
|
-
|
|
300
|
-
oldFromNe: pattern => stringOrRegExpCompare(pattern, 'oldFromNe', event => event && event.oldState && event.oldState.from, true),
|
|
301
|
-
|
|
302
|
-
channelId: pattern => stringOrRegExpCompare(pattern, 'channelId'),
|
|
303
|
-
channelName: pattern => stringOrRegExpCompare(pattern, 'channelName'),
|
|
304
|
-
deviceId: pattern => stringOrRegExpCompare(pattern, 'deviceId'),
|
|
305
|
-
deviceName: pattern => stringOrRegExpCompare(pattern, 'deviceName'),
|
|
306
|
-
|
|
307
|
-
enumId: (pattern) => {
|
|
308
|
-
/** @type {RegExp | string | string[]} */
|
|
309
|
-
const penumId = pattern.enumId;
|
|
310
|
-
|
|
311
|
-
function ensureEnumIDsIsArray(enumIds) {
|
|
312
|
-
if (!Array.isArray(enumIds)) {
|
|
313
|
-
console.error(`enumIds is of type ${typeof enumIds} but should be an array: ${JSON.stringify(enumIds)}`);
|
|
314
|
-
return false;
|
|
315
|
-
}
|
|
316
|
-
return true;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
if (isRegExp(penumId)) {
|
|
320
|
-
return function (event) {
|
|
321
|
-
const enumIds = event.enumIds;
|
|
322
|
-
if (enumIds == null || !ensureEnumIDsIsArray(enumIds)) {
|
|
323
|
-
return false;
|
|
324
|
-
}
|
|
325
|
-
// Test if any enum name matches the regex:
|
|
326
|
-
return enumIds.find(e => /** @type {RegExp} */ (penumId).test(e)) != null;
|
|
327
|
-
};
|
|
328
|
-
} else if (Array.isArray(penumId)) {
|
|
329
|
-
return function (event) {
|
|
330
|
-
const enumIds = event.enumIds;
|
|
331
|
-
if (enumIds == null || !ensureEnumIDsIsArray(enumIds)) {
|
|
332
|
-
return false;
|
|
333
|
-
}
|
|
334
|
-
// Test if the enum names of the event and the given array intersect
|
|
335
|
-
return enumIds.find(e => penumId.includes(e)) != null;
|
|
336
|
-
};
|
|
337
|
-
} else {
|
|
338
|
-
return function (event) {
|
|
339
|
-
const enumIds = event.enumIds;
|
|
340
|
-
if (enumIds == null || !ensureEnumIDsIsArray(enumIds)) {
|
|
341
|
-
return false;
|
|
342
|
-
}
|
|
343
|
-
return (enumIds && enumIds.indexOf(penumId) !== -1);
|
|
344
|
-
};
|
|
345
|
-
}
|
|
346
|
-
},
|
|
347
|
-
|
|
348
|
-
enumName: function (pattern) {
|
|
349
|
-
/** @type {RegExp | string | string[]} */
|
|
350
|
-
const penumName = pattern.enumName;
|
|
351
|
-
|
|
352
|
-
function ensureEnumNamesIsArray(enumNames) {
|
|
353
|
-
if (!Array.isArray(enumNames)) {
|
|
354
|
-
console.error(`enumNames is of type ${typeof enumNames} but should be an array: ${JSON.stringify(enumNames)}`);
|
|
355
|
-
return false;
|
|
356
|
-
}
|
|
357
|
-
return true;
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
if (isRegExp(penumName)) {
|
|
361
|
-
return function (event) {
|
|
362
|
-
const enumNames = event.enumNames;
|
|
363
|
-
if (enumNames == null || !ensureEnumNamesIsArray(enumNames)) {
|
|
364
|
-
return false;
|
|
365
|
-
}
|
|
366
|
-
// Test if any enum name matches the regex:
|
|
367
|
-
return enumNames.find(e => /** @type {RegExp} */ (penumName).test(e)) != null;
|
|
368
|
-
};
|
|
369
|
-
} else if (Array.isArray(penumName)) {
|
|
370
|
-
return function (event) {
|
|
371
|
-
const enumNames = event.enumNames;
|
|
372
|
-
if (enumNames == null || !ensureEnumNamesIsArray(enumNames)) {
|
|
373
|
-
return false;
|
|
374
|
-
}
|
|
375
|
-
// Test if the enum names of the event and the given array intersect
|
|
376
|
-
return enumNames.find(e => penumName.indexOf(e) > -1) != null;
|
|
377
|
-
};
|
|
378
|
-
} else {
|
|
379
|
-
return function (event) {
|
|
380
|
-
const enumNames = event.enumNames;
|
|
381
|
-
if (enumNames == null || !ensureEnumNamesIsArray(enumNames)) {
|
|
382
|
-
return false;
|
|
383
|
-
}
|
|
384
|
-
return (enumNames && enumNames.indexOf(penumName) !== -1);
|
|
385
|
-
};
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
};
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
module.exports = patternCompareFunctions;
|