@iotize/tap
Version:
IoTize Device client for Javascript
102 lines • 8.07 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import { StepOperations } from '@iotize/common/task-manager';
import { sleep } from '@iotize/common/utility';
import '@iotize/tap';
import '@iotize/tap/service/all';
import { READ_CONFIGURATOR_CONFIG, } from './read-configurator-config';
function stepEvent(observer, step, context, extraData) {
observer.next(Object.assign({ step, progress: {
loaded: context.index + 1,
total: context.total,
} }, (extraData || {})));
}
/**
* Configure tap from a configuration file schema
*
*/
export class TapConfiguratorReader {
constructor(calls = READ_CONFIGURATOR_CONFIG) {
this.calls = calls;
}
createReadOperations(tap) {
const configureContext = {
tap,
};
const operations = [];
const outputConfig = {};
this.addConfigurCalls(configureContext, this.calls, operations, outputConfig, tap);
return StepOperations.sequential(operations);
}
addConfigurCalls(configureContext, calls, operations, outputConfig, tap) {
let index = 0;
for (const key in calls) {
const context = {
firmwareVersion: '9999.9999',
service: tap.service,
param: undefined,
config: outputConfig,
};
const configKey = key;
const factoryFct = calls[configKey];
if (!factoryFct) {
index++;
continue;
}
const callOrErrorOrUndefined = factoryFct(context);
if (callOrErrorOrUndefined) {
operations.push((observer, context) => __awaiter(this, void 0, void 0, function* () {
if (callOrErrorOrUndefined instanceof Error) {
stepEvent(observer, TapConfiguratorReader.Step.readKeyError, context, {
configKey,
error: callOrErrorOrUndefined,
// call: callOrError
});
}
else {
try {
outputConfig[configKey] = (yield configureContext.tap.lwm2m.execute(callOrErrorOrUndefined)).body();
stepEvent(observer, TapConfiguratorReader.Step.readKeySuccess, context, {
configKey,
value: outputConfig[configKey],
call: callOrErrorOrUndefined,
});
}
catch (error) {
stepEvent(observer, TapConfiguratorReader.Step.readKeyError, context, {
configKey,
call: callOrErrorOrUndefined,
error,
});
}
}
}));
}
index++;
}
operations.push((observer, context) => __awaiter(this, void 0, void 0, function* () {
stepEvent(observer, TapConfiguratorReader.Step.done, context, {
config: outputConfig,
});
}));
}
sleep(delayMs) {
return sleep(delayMs);
}
}
(function (TapConfiguratorReader) {
let Step;
(function (Step) {
Step["readKeySuccess"] = "TapConfiguratorReaderreadKeySuccess";
Step["readKeyError"] = "TapConfiguratorReaderReadKeyError";
Step["done"] = "TapConfiguratorReaderDone";
})(Step = TapConfiguratorReader.Step || (TapConfiguratorReader.Step = {}));
})(TapConfiguratorReader || (TapConfiguratorReader = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwLWNvbmZpZ3VyYXRvci1yZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9jb25maWd1cmF0b3Ivc3JjL2xpYi90YXAtY29uZmlndXJhdG9yLXJlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sYUFBYSxDQUFDO0FBRXJCLE9BQU8seUJBQXlCLENBQUM7QUFHakMsT0FBTyxFQUVMLHdCQUF3QixHQUN6QixNQUFNLDRCQUE0QixDQUFDO0FBTXBDLFNBQVMsU0FBUyxDQUNoQixRQUF1QixFQUN2QixJQUFnQyxFQUNoQyxPQUFZLEVBQ1osU0FBYTtJQUViLFFBQVEsQ0FBQyxJQUFJLGlCQUNYLElBQUksRUFDSixRQUFRLEVBQUU7WUFDUixNQUFNLEVBQUUsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDO1lBQ3pCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztTQUNyQixJQUNFLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxFQUNwQixDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsWUFDUyxRQUEwQyx3QkFBd0I7UUFBbEUsVUFBSyxHQUFMLEtBQUssQ0FBNkQ7SUFDeEUsQ0FBQztJQUVHLG9CQUFvQixDQUFDLEdBQVE7UUFDbEMsTUFBTSxnQkFBZ0IsR0FBcUI7WUFDekMsR0FBRztTQUNKLENBQUM7UUFDRixNQUFNLFVBQVUsR0FBOEMsRUFBRSxDQUFDO1FBQ2pFLE1BQU0sWUFBWSxHQUF3QyxFQUFFLENBQUM7UUFDN0QsSUFBSSxDQUFDLGdCQUFnQixDQUNuQixnQkFBZ0IsRUFDaEIsSUFBSSxDQUFDLEtBQUssRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLEdBQUcs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