@iotize/tap
Version:
IoTize Device client for Javascript
25 lines • 2.46 kB
JavaScript
import { hexStringToBuffer } from '@iotize/common/byte-converter';
import { TapRequestFrame } from '@iotize/tap/client/api';
import { TapRequestFrameBuilder, TapRequestHelper, } from '@iotize/tap/client/impl';
const TAP_REQUEST_STRING_REGEX = /^(GET|PUT|POST)\s+(\/[0-9]+\/[0-9]*\/[0-9]+)\s?(\s+(0x[a-zA-Z0-9]+))?$/i;
export function createTapRequestFromString(request) {
const match = TAP_REQUEST_STRING_REGEX.exec(request);
if (match) {
const methodType = match[1];
const path = match[2];
const body = match[4] ? hexStringToBuffer(match[4]) : undefined;
return TapRequestFrameBuilder.create(TapRequestFrame.MethodType[methodType], path, body);
}
else {
throw new Error(`Invalid tap request string format: "${request}".`);
}
}
const tapRequestEqualFilter = (expectedRequest) => {
return (request) => {
return (TapRequestHelper.toString(expectedRequest) ===
TapRequestHelper.toString(request));
};
};
const ɵ0 = tapRequestEqualFilter;
export { ɵ0 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Rlc3Rpbmcvc3JjL21vY2svdXRpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixnQkFBZ0IsR0FDakIsTUFBTSx5QkFBeUIsQ0FBQztBQUlqQyxNQUFNLHdCQUF3QixHQUM1Qix5RUFBeUUsQ0FBQztBQUU1RSxNQUFNLFVBQVUsMEJBQTBCLENBQUMsT0FBZTtJQUN4RCxNQUFNLEtBQUssR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckQsSUFBSSxLQUFLLEVBQUU7UUFDVCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUE0QyxDQUFDO1FBQ3ZFLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEUsT0FBTyxzQkFBc0IsQ0FBQyxNQUFNLENBQ2xDLGVBQWUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQ3RDLElBQUksRUFDSixJQUFJLENBQ0wsQ0FBQztLQUNIO1NBQU07UUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxPQUFPLElBQUksQ0FBQyxDQUFDO0tBQ3JFO0FBQ0gsQ0FBQztBQUVELE1BQU0scUJBQXFCLEdBRU8sQ0FBQyxlQUFlLEVBQUUsRUFBRTtJQUNwRCxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDakIsT0FBTyxDQUNMLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7WUFDMUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUNuQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=