UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

114 lines 8.46 kB
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 { isCodeError } from '@iotize/common/error'; import { TapError } from '@iotize/tap'; import { ResultCode } from '@iotize/tap/client/api'; import { TlvBundleConverter } from '@iotize/tap/client/impl'; import { TapDataError } from '../../tap-data-error'; import { AbstractBundleDataStream, } from '../../utility/editable-data-stream'; import { TapVariable, createTapVariableFromConfig, } from '../tap-variable/tap-variable'; export const TLV_BUNDLE_CONVERTER = new TlvBundleConverter(); export function createTapBundleFromConfig(tap, name, config) { const variables = Object.keys(config.variables).reduce((acc, key) => { const value = config.variables[key]; acc[key] = createTapVariableFromConfig(tap.service.variable, key, value); return acc; }, {}); return new TapBundle(name, { tap, config: { id: config.id, }, }, variables); } export class TapBundle extends AbstractBundleDataStream { constructor(_id, context, _variables) { super(_variables); this._id = _id; this.context = context; // this.converter = TLV_BUNDLE_CONVERTER; // super( // context, // undefined, // ); } get id() { return this._id; } get bundleId() { return this.context.config.id; } // addConfiguredVariable<T>(name: string, options: { // id: number; // dataType: VariableType.Data, // length?: number // }) { // if (this.hasVariable(options.id)) { // throw new Error(`Alredy has variable ${name}`); // } // // this.context.config.variables.push({ // // name, // // id: options.id // // }); // const variable = new ConfiguredVariableDataStream<DataType>( // // config as VariableConfigWithName, // { // tap: this.context.tap, // config: { // id: options.id, // name // } // }, // getConverterFromVariableType( // options.dataType, // options.length || 1 // ), // // dataStream, // ); // this._variables.push(variable); // } readRawInner() { return __awaiter(this, void 0, void 0, function* () { try { const variableIdMapping = (yield this.context.tap.service.bundle.getValues(this.bundleId)).body(TLV_BUNDLE_CONVERTER); const streamIdMapping = {}; // Partial<RawBundleType<DataType>> // for (const tapVariableId of vara) for (const variable of this.variables) { if (variable instanceof TapVariable) { if (variable.variableId in variableIdMapping) { streamIdMapping[variable.id] = variableIdMapping[variable.variableId]; } else { streamIdMapping[variable.id] = undefined; // if (!(variable.id in streamIdMapping)) { // streamIdMapping[variable.id] = variableIdMapping[] // } // (streamIdMapping as any)[variable.id] // TODO un mapped ? // throw new Error(`${variable.id} is not mapped`) } } } return streamIdMapping; } catch (err) { if (isCodeError(TapError.Code.ResponseStatusError, err)) { switch (err.response.status) { case ResultCode.NOT_FOUND: throw TapDataError.bundleNotConfigured(this.context.config, err); } } throw err; } }); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwLWJ1bmRsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2RhdGEvc3JjL2xpYi90YXJnZXQtdmFyaWFibGUvdGFwLWJ1bmRsZS90YXAtYnVuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQU8sUUFBUSxFQUEwQixNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXBELE9BQU8sRUFDTCx3QkFBd0IsR0FJekIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsV0FBVyxFQUNYLDJCQUEyQixHQUM1QixNQUFNLDhCQUE4QixDQUFDO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztBQTBCN0QsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxHQUFRLEVBQ1IsSUFBaUIsRUFDakIsTUFBdUM7SUFFdkMsTUFBTSxTQUFTLEdBQ2IsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUM3QixDQUFDLE1BQU0sQ0FBMkMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDOUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsMkJBQTJCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxF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