@iotize/tap
Version:
IoTize Device client for Javascript
23 lines • 1.75 kB
JavaScript
/**
*
* @experimental
*/
export function extractTypedDataFromRecord(data, mapping, allowUndefinedKeys) {
// console.log('decodeDataLogPacket', meta)
const result = {};
// const bundleMeta: BundleConfig | undefined = meta.find(
for (const key of Object.keys(mapping).map((key) => parseInt(key, 10))) {
if (key in data) {
const value = data[key];
const { name, converter } = mapping[key];
result[name] = converter.decode(value);
}
else {
if (!allowUndefinedKeys) {
throw new Error(`Missing variable identifier "${key}" in data`);
}
}
}
return result;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2RhdGEtbG9nL3NyYy9saWIvdXRpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsMEJBQTBCLENBS3hDLElBQTRCLEVBQzVCLE9BQTJELEVBQzNELGtCQUE2QjtJQUU3QiwyQ0FBMkM7SUFDM0MsTUFBTSxNQUFNLEdBQWdCLEVBQUUsQ0FBQztJQUMvQiwwREFBMEQ7SUFFMUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ2pELFFBQVEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQ1YsRUFBRTtRQUNULElBQUksR0FBRyxJQUFJLElBQUksRUFBRTtZQUNmLE1BQU0sS0FBSyxHQUFlLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QzthQUFNO1lBQ0wsSUFBSSxDQUFDLGtCQUFrQixFQUFFO2dCQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxHQUFHLFdBQVcsQ0FBQyxDQUFDO2FBQ2pFO1NBQ0Y7S0FDRjtJQUNELE9BQU8sTUFBK0QsQ0FBQztBQUN6RSxDQUFDIn0=