@iotize/tap
Version:
IoTize Device client for Javascript
114 lines • 8.46 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 { 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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