@things-factory/integration-base 6.0.67 → 6.0.68
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/dist-server/engine/task/data-mapper.js +37 -0
- package/dist-server/engine/task/data-mapper.js.map +1 -0
- package/dist-server/engine/task/index.js +1 -0
- package/dist-server/engine/task/index.js.map +1 -1
- package/dist-server/engine/task/map-data.js +37 -0
- package/dist-server/engine/task/map-data.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/helps/integration/task/data-mapper.md +14 -0
- package/package.json +2 -2
- package/server/engine/task/data-mapper.ts +44 -0
- package/server/engine/task/index.ts +1 -0
- package/translations/en.json +1 -1
- package/translations/ko.json +1 -1
- package/translations/ms.json +1 -1
- package/translations/zh.json +1 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("@things-factory/utils");
|
|
4
|
+
const task_registry_1 = require("../task-registry");
|
|
5
|
+
function mapping(rule, input) {
|
|
6
|
+
if (Array.isArray(input)) {
|
|
7
|
+
return input.map(i => mapping(rule, i));
|
|
8
|
+
}
|
|
9
|
+
return Object.keys(rule).reduce((sum, key) => {
|
|
10
|
+
sum[key] = input[rule[key]];
|
|
11
|
+
return sum;
|
|
12
|
+
}, {});
|
|
13
|
+
}
|
|
14
|
+
async function DataMapper(step, { logger, data }) {
|
|
15
|
+
var { params: { accessor, mappingRule } } = step;
|
|
16
|
+
const input = (0, utils_1.access)(accessor, data);
|
|
17
|
+
const output = mapping(mappingRule || {}, input);
|
|
18
|
+
return {
|
|
19
|
+
data: output
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
DataMapper.parameterSpec = [
|
|
23
|
+
{
|
|
24
|
+
type: 'scenario-step-input',
|
|
25
|
+
name: 'accessor',
|
|
26
|
+
label: 'accessor'
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
type: 'key-values',
|
|
30
|
+
name: 'mappingRule',
|
|
31
|
+
label: 'mapping-rule'
|
|
32
|
+
}
|
|
33
|
+
];
|
|
34
|
+
DataMapper.connectorFree = true;
|
|
35
|
+
DataMapper.help = 'integration/task/data-mapper';
|
|
36
|
+
task_registry_1.TaskRegistry.registerTaskHandler('data-mapper', DataMapper);
|
|
37
|
+
//# sourceMappingURL=data-mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-mapper.js","sourceRoot":"","sources":["../../../server/engine/task/data-mapper.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAC9C,oDAA+C;AAE/C,SAAS,OAAO,CAAC,IAAI,EAAE,KAAK;IAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;KACxC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3B,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAS,CAAC,CAAA;AACf,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;IAC9C,IAAI,EACF,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAClC,GAAG,IAAI,CAAA;IAER,MAAM,KAAK,GAAG,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;IAEhD,OAAO;QACL,IAAI,EAAE,MAAM;KACb,CAAA;AACH,CAAC;AAED,UAAU,CAAC,aAAa,GAAG;IACzB;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,cAAc;KACtB;CACF,CAAA;AAED,UAAU,CAAC,aAAa,GAAG,IAAI,CAAA;AAC/B,UAAU,CAAC,IAAI,GAAG,8BAA8B,CAAA;AAEhD,4BAAY,CAAC,mBAAmB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA","sourcesContent":["import { access } from '@things-factory/utils'\nimport { TaskRegistry } from '../task-registry'\n\nfunction mapping(rule, input) {\n if (Array.isArray(input)) {\n return input.map(i => mapping(rule, i))\n }\n\n return Object.keys(rule).reduce((sum, key) => {\n sum[key] = input[rule[key]]\n return sum\n }, {} as any)\n}\n\nasync function DataMapper(step, { logger, data }) {\n var {\n params: { accessor, mappingRule }\n } = step\n\n const input = access(accessor, data)\n const output = mapping(mappingRule || {}, input)\n\n return {\n data: output\n }\n}\n\nDataMapper.parameterSpec = [\n {\n type: 'scenario-step-input',\n name: 'accessor',\n label: 'accessor'\n },\n {\n type: 'key-values',\n name: 'mappingRule',\n label: 'mapping-rule'\n }\n]\n\nDataMapper.connectorFree = true\nDataMapper.help = 'integration/task/data-mapper'\n\nTaskRegistry.registerTaskHandler('data-mapper', DataMapper)\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/engine/task/index.ts"],"names":[],"mappings":";;AAAA,uBAAoB;AACpB,0BAAuB;AACvB,mBAAgB;AAChB,iBAAc;AACd,qBAAkB;AAClB,sBAAmB;AACnB,uBAAoB;AACpB,2BAAwB;AACxB,4BAAyB;AACzB,iCAA8B;AAC9B,kCAA+B;AAC/B,0BAAuB;AACvB,8BAA2B;AAC3B,mCAAgC;AAChC,iCAA8B;AAC9B,yBAAsB;AACtB,kBAAe;AACf,iBAAc;AACd,yBAAsB;AACtB,+BAA4B;AAC5B,6BAA0B;AAC1B,mCAAgC;AAChC,wBAAqB;AACrB,8BAA2B;AAC3B,oBAAiB;AACjB,4BAAyB;AACzB,4BAAyB;AACzB,0BAAuB;AACvB,mBAAgB;AAChB,uBAAoB;AACpB,4BAAyB;AACzB,6BAA0B;AAC1B,oBAAiB;AACjB,0BAAuB","sourcesContent":["import './echo-send'\nimport './echo-receive'\nimport './sleep'\nimport './log'\nimport './publish'\nimport './http-get'\nimport './http-post'\nimport './graphql-query'\nimport './graphql-mutate'\nimport './local-graphql-query'\nimport './local-graphql-mutate'\nimport './sub-scenario'\nimport './book-up-scenario'\nimport './pick-pending-scenario'\nimport './reset-pending-queue'\nimport './empty-check'\nimport './goto'\nimport './end'\nimport './switch-goto'\nimport './switch-range-goto'\nimport './switch-scenario'\nimport './switch-range-scenario'\nimport './switch-set'\nimport './switch-range-set'\nimport './script'\nimport './database-query'\nimport './mqtt-subscribe'\nimport './mqtt-publish'\nimport './throw'\nimport './variables'\nimport './floating-point'\nimport './socket-listener'\nimport './random'\nimport './csv-readline'\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/engine/task/index.ts"],"names":[],"mappings":";;AAAA,uBAAoB;AACpB,0BAAuB;AACvB,mBAAgB;AAChB,iBAAc;AACd,qBAAkB;AAClB,sBAAmB;AACnB,uBAAoB;AACpB,2BAAwB;AACxB,4BAAyB;AACzB,iCAA8B;AAC9B,kCAA+B;AAC/B,0BAAuB;AACvB,8BAA2B;AAC3B,mCAAgC;AAChC,iCAA8B;AAC9B,yBAAsB;AACtB,kBAAe;AACf,iBAAc;AACd,yBAAsB;AACtB,+BAA4B;AAC5B,6BAA0B;AAC1B,mCAAgC;AAChC,wBAAqB;AACrB,8BAA2B;AAC3B,oBAAiB;AACjB,4BAAyB;AACzB,4BAAyB;AACzB,0BAAuB;AACvB,mBAAgB;AAChB,uBAAoB;AACpB,4BAAyB;AACzB,6BAA0B;AAC1B,oBAAiB;AACjB,0BAAuB;AACvB,yBAAsB","sourcesContent":["import './echo-send'\nimport './echo-receive'\nimport './sleep'\nimport './log'\nimport './publish'\nimport './http-get'\nimport './http-post'\nimport './graphql-query'\nimport './graphql-mutate'\nimport './local-graphql-query'\nimport './local-graphql-mutate'\nimport './sub-scenario'\nimport './book-up-scenario'\nimport './pick-pending-scenario'\nimport './reset-pending-queue'\nimport './empty-check'\nimport './goto'\nimport './end'\nimport './switch-goto'\nimport './switch-range-goto'\nimport './switch-scenario'\nimport './switch-range-scenario'\nimport './switch-set'\nimport './switch-range-set'\nimport './script'\nimport './database-query'\nimport './mqtt-subscribe'\nimport './mqtt-publish'\nimport './throw'\nimport './variables'\nimport './floating-point'\nimport './socket-listener'\nimport './random'\nimport './csv-readline'\nimport './data-mapper'\n"]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("@things-factory/utils");
|
|
4
|
+
const task_registry_1 = require("../task-registry");
|
|
5
|
+
function map(rule, input) {
|
|
6
|
+
if (Array.isArray(input)) {
|
|
7
|
+
return input.map(i => map(rule, i));
|
|
8
|
+
}
|
|
9
|
+
return Object.keys(rule).reduce((sum, key) => {
|
|
10
|
+
sum[key] = input[rule[key]];
|
|
11
|
+
return sum;
|
|
12
|
+
}, {});
|
|
13
|
+
}
|
|
14
|
+
async function MapData(step, { logger, data }) {
|
|
15
|
+
var { params: { accessor, mappingRule } } = step;
|
|
16
|
+
const input = (0, utils_1.access)(accessor, data);
|
|
17
|
+
const output = map(mappingRule || {}, input);
|
|
18
|
+
return {
|
|
19
|
+
data: output
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
MapData.parameterSpec = [
|
|
23
|
+
{
|
|
24
|
+
type: 'scenario-step-input',
|
|
25
|
+
name: 'accessor',
|
|
26
|
+
label: 'accessor'
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
type: 'key-values',
|
|
30
|
+
name: 'mappingRule',
|
|
31
|
+
label: 'mapping-rule'
|
|
32
|
+
}
|
|
33
|
+
];
|
|
34
|
+
MapData.connectorFree = true;
|
|
35
|
+
MapData.help = 'integration/task/map-data';
|
|
36
|
+
task_registry_1.TaskRegistry.registerTaskHandler('map-data', MapData);
|
|
37
|
+
//# sourceMappingURL=map-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-data.js","sourceRoot":"","sources":["../../../server/engine/task/map-data.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAC9C,oDAA+C;AAE/C,SAAS,GAAG,CAAC,IAAI,EAAE,KAAK;IACtB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;KACpC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3B,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAS,CAAC,CAAA;AACf,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;IAC3C,IAAI,EACF,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAClC,GAAG,IAAI,CAAA;IAER,MAAM,KAAK,GAAG,IAAA,cAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;IAE5C,OAAO;QACL,IAAI,EAAE,MAAM;KACb,CAAA;AACH,CAAC;AAED,OAAO,CAAC,aAAa,GAAG;IACtB;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,cAAc;KACtB;CACF,CAAA;AAED,OAAO,CAAC,aAAa,GAAG,IAAI,CAAA;AAC5B,OAAO,CAAC,IAAI,GAAG,2BAA2B,CAAA;AAE1C,4BAAY,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA","sourcesContent":["import { access } from '@things-factory/utils'\nimport { TaskRegistry } from '../task-registry'\n\nfunction map(rule, input) {\n if (Array.isArray(input)) {\n return input.map(i => map(rule, i))\n }\n\n return Object.keys(rule).reduce((sum, key) => {\n sum[key] = input[rule[key]]\n return sum\n }, {} as any)\n}\n\nasync function MapData(step, { logger, data }) {\n var {\n params: { accessor, mappingRule }\n } = step\n\n const input = access(accessor, data)\n const output = map(mappingRule || {}, input)\n\n return {\n data: output\n }\n}\n\nMapData.parameterSpec = [\n {\n type: 'scenario-step-input',\n name: 'accessor',\n label: 'accessor'\n },\n {\n type: 'key-values',\n name: 'mappingRule',\n label: 'mapping-rule'\n }\n]\n\nMapData.connectorFree = true\nMapData.help = 'integration/task/map-data'\n\nTaskRegistry.registerTaskHandler('map-data', MapData)\n"]}
|