1#ifndef _lambda_transform_H_
2#define _lambda_transform_H_
10static const char kLambdaTransformSchemaHead[]
PROGMEM = R
"({
15static const char kLambdaTransformSchemaTail[]
PROGMEM = R
"(
83 param_info{param_info} {
93 param_info{param_info} {
117 param_info{param_info} {
130 param_info{param_info} {
144 param_info{param_info} {
149 P1 param1,
P2 param2,
P3 param3,
P4 param4,
P5 param5,
159 param_info{param_info} {
164 P1 param1,
P2 param2,
P3 param3,
P4 param4,
P5 param5,
176 param_info{param_info} {
181 switch (num_params) {
183 this->
output = function0(input);
186 this->
output = function1(input, param1);
189 this->
output = function2(input, param1, param2);
192 this->
output = function3(input, param1, param2, param3);
195 this->
output = function4(input, param1, param2, param3, param4);
198 this->
output = function5(input, param1, param2, param3, param4, param5);
202 function6(input, param1, param2, param3, param4, param5, param6);
211 switch (num_params) {
213 doc[param_info[5].key] = param6;
215 doc[param_info[4].key] = param5;
217 doc[param_info[3].key] = param4;
219 doc[param_info[2].key] = param3;
221 doc[param_info[1].key] = param2;
223 doc[param_info[0].key] = param1;
232 debugD(
"Preparing to restore configuration from FS.");
233 for (
int i = 0;
i < num_params;
i++) {
234 const char*
expected = param_info[
i].key;
236 debugD(
"Didn't find all keys.");
240 switch (num_params) {
242 param6 =
config[param_info[5].key];
244 param5 =
config[param_info[4].key];
246 param4 =
config[param_info[3].key];
248 param3 =
config[param_info[2].key];
250 param2 =
config[param_info[1].key];
252 param1 =
config[param_info[0].key];
256 debugD(
"Restored configuration");
266 debugD(
"Preparing config schema");
269 if (num_params > 0) {
270 debugD(
"getting param_info:");
271 debugD(
"%s -> %s", param_info[0].key, param_info[0].description);
272 output.concat(format_schema_row(param_info[0].key,
273 param_info[0].description,
276 if (num_params > 1) {
278 output.concat(format_schema_row(param_info[1].key,
279 param_info[1].description,
282 if (num_params > 2) {
284 output.concat(format_schema_row(param_info[2].key,
285 param_info[2].description,
288 if (num_params > 3) {
290 output.concat(format_schema_row(param_info[3].key,
291 param_info[3].description,
294 if (num_params > 4) {
296 output.concat(format_schema_row(param_info[4].key,
297 param_info[4].description,
300 if (num_params > 5) {
302 output.concat(format_schema_row(param_info[5].key,
303 param_info[5].description,
308 debugD(
"Prepared config schema.");
323 std::function<
OUT(
IN)> function0;
324 std::function<
OUT(
IN,
P1)> function1;
325 std::function<
OUT(
IN,
P1,
P2)> function2;
331 static String format_schema_row(
const char key[],
const char title[],
337 "%s": { "title": "%s", "type": "%s", "readOnly": %s }
virtual void load_configuration()
const uint8_t PAGE_css_bootstrap[] PROGMEM
const char * get_schema_type_string(const int dummy)