Socket
Socket
Sign inDemoInstall

qcloud-iotexplorer-common-libs

Package Overview
Dependencies
12
Maintainers
2
Versions
85
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.12.15 to 0.12.16

16

lib/libs/bluetooth/tlvJson/constants.d.ts

@@ -23,2 +23,12 @@ export declare const PROPERTY_REPORT = "PROPERTY_REPORT";

};
export declare const TLV_TYPE_INDEX_REVERSE: {
0: string;
1: string;
2: string;
3: string;
4: string;
5: string;
6: string;
7: string;
};
export declare const TLV_TYPE_LENGTH: {

@@ -50,1 +60,7 @@ bool: number;

};
export declare const SPLIT_STR_MAP: {
0: string;
1: string;
2: string;
3: string;
};

2

lib/libs/bluetooth/tlvJson/constants.js

@@ -1,2 +0,2 @@

"use strict";var _a,_b,_c;Object.defineProperty(exports,"__esModule",{value:!0}),exports.SPLIT_INDEX_MAP=exports.SPLIT_MAP=exports.SPLIT_LAST=exports.SPLIT_MIDDLE=exports.SPLIT_FIRST=exports.NOT_SPLIT=exports.TEMPLATE_ACTIONS=exports.TEMPLATE_EVENTS=exports.TEMPLATE_PROPERTY=exports.TLV_TYPE_LENGTH=exports.TLV_TYPE_INDEX=exports.BLE_IOT_DATA_TYPE_ARRAY=exports.BLE_IOT_DATA_TYPE_STRUCT=exports.BLE_IOT_DATA_TYPE_TIME=exports.BLE_IOT_DATA_TYPE_ENUM=exports.BLE_IOT_DATA_TYPE_FLOAT=exports.BLE_IOT_DATA_TYPE_STRING=exports.BLE_IOT_DATA_TYPE_INT=exports.BLE_IOT_DATA_TYPE_BOOL=exports.ACTION_REPLY=exports.EVENT_REPORT=exports.CONTROL_ACTION=exports.PROPERTY_REPORT=void 0,exports.PROPERTY_REPORT="PROPERTY_REPORT",exports.CONTROL_ACTION="CONTROL_ACTION",exports.EVENT_REPORT="EVENT_REPORT",exports.ACTION_REPLY="ACTION_REPLY",exports.BLE_IOT_DATA_TYPE_BOOL="bool",exports.BLE_IOT_DATA_TYPE_INT="int",exports.BLE_IOT_DATA_TYPE_STRING="string",exports.BLE_IOT_DATA_TYPE_FLOAT="float",exports.BLE_IOT_DATA_TYPE_ENUM="enum",exports.BLE_IOT_DATA_TYPE_TIME="timestamp",exports.BLE_IOT_DATA_TYPE_STRUCT="struct",exports.BLE_IOT_DATA_TYPE_ARRAY="array",exports.TLV_TYPE_INDEX=((_a={})[exports.BLE_IOT_DATA_TYPE_BOOL]=0,_a[exports.BLE_IOT_DATA_TYPE_INT]=1,_a[exports.BLE_IOT_DATA_TYPE_STRING]=2,_a[exports.BLE_IOT_DATA_TYPE_FLOAT]=3,_a[exports.BLE_IOT_DATA_TYPE_ENUM]=4,_a[exports.BLE_IOT_DATA_TYPE_TIME]=5,_a[exports.BLE_IOT_DATA_TYPE_STRUCT]=6,_a[exports.BLE_IOT_DATA_TYPE_ARRAY]=7,_a),exports.TLV_TYPE_LENGTH=((_b={})[exports.BLE_IOT_DATA_TYPE_BOOL]=1,_b[exports.BLE_IOT_DATA_TYPE_INT]=4,_b[exports.BLE_IOT_DATA_TYPE_FLOAT]=4,_b[exports.BLE_IOT_DATA_TYPE_ENUM]=2,_b[exports.BLE_IOT_DATA_TYPE_TIME]=4,_b),exports.TEMPLATE_PROPERTY="properties",exports.TEMPLATE_EVENTS="events",exports.TEMPLATE_ACTIONS="actions",exports.NOT_SPLIT="NOT_SPLIT",exports.SPLIT_FIRST="SPLIT_FIRST",exports.SPLIT_MIDDLE="SPLIT_MIDDLE",exports.SPLIT_LAST="SPLIT_LAST",exports.SPLIT_MAP={0:exports.NOT_SPLIT,1:exports.SPLIT_FIRST,2:exports.SPLIT_MIDDLE,3:exports.SPLIT_LAST},exports.SPLIT_INDEX_MAP=((_c={})[exports.NOT_SPLIT]=0,_c[exports.SPLIT_FIRST]=1,_c[exports.SPLIT_MIDDLE]=2,_c[exports.SPLIT_LAST]=3,_c);
"use strict";var _a,_b,_c;Object.defineProperty(exports,"__esModule",{value:!0}),exports.SPLIT_STR_MAP=exports.SPLIT_INDEX_MAP=exports.SPLIT_MAP=exports.SPLIT_LAST=exports.SPLIT_MIDDLE=exports.SPLIT_FIRST=exports.NOT_SPLIT=exports.TEMPLATE_ACTIONS=exports.TEMPLATE_EVENTS=exports.TEMPLATE_PROPERTY=exports.TLV_TYPE_LENGTH=exports.TLV_TYPE_INDEX_REVERSE=exports.TLV_TYPE_INDEX=exports.BLE_IOT_DATA_TYPE_ARRAY=exports.BLE_IOT_DATA_TYPE_STRUCT=exports.BLE_IOT_DATA_TYPE_TIME=exports.BLE_IOT_DATA_TYPE_ENUM=exports.BLE_IOT_DATA_TYPE_FLOAT=exports.BLE_IOT_DATA_TYPE_STRING=exports.BLE_IOT_DATA_TYPE_INT=exports.BLE_IOT_DATA_TYPE_BOOL=exports.ACTION_REPLY=exports.EVENT_REPORT=exports.CONTROL_ACTION=exports.PROPERTY_REPORT=void 0,exports.PROPERTY_REPORT="PROPERTY_REPORT",exports.CONTROL_ACTION="CONTROL_ACTION",exports.EVENT_REPORT="EVENT_REPORT",exports.ACTION_REPLY="ACTION_REPLY",exports.BLE_IOT_DATA_TYPE_BOOL="bool",exports.BLE_IOT_DATA_TYPE_INT="int",exports.BLE_IOT_DATA_TYPE_STRING="string",exports.BLE_IOT_DATA_TYPE_FLOAT="float",exports.BLE_IOT_DATA_TYPE_ENUM="enum",exports.BLE_IOT_DATA_TYPE_TIME="timestamp",exports.BLE_IOT_DATA_TYPE_STRUCT="struct",exports.BLE_IOT_DATA_TYPE_ARRAY="array",exports.TLV_TYPE_INDEX=((_a={})[exports.BLE_IOT_DATA_TYPE_BOOL]=0,_a[exports.BLE_IOT_DATA_TYPE_INT]=1,_a[exports.BLE_IOT_DATA_TYPE_STRING]=2,_a[exports.BLE_IOT_DATA_TYPE_FLOAT]=3,_a[exports.BLE_IOT_DATA_TYPE_ENUM]=4,_a[exports.BLE_IOT_DATA_TYPE_TIME]=5,_a[exports.BLE_IOT_DATA_TYPE_STRUCT]=6,_a[exports.BLE_IOT_DATA_TYPE_ARRAY]=7,_a),exports.TLV_TYPE_INDEX_REVERSE={0:exports.BLE_IOT_DATA_TYPE_BOOL,1:exports.BLE_IOT_DATA_TYPE_INT,2:exports.BLE_IOT_DATA_TYPE_STRING,3:exports.BLE_IOT_DATA_TYPE_FLOAT,4:exports.BLE_IOT_DATA_TYPE_ENUM,5:exports.BLE_IOT_DATA_TYPE_TIME,6:exports.BLE_IOT_DATA_TYPE_STRUCT,7:exports.BLE_IOT_DATA_TYPE_ARRAY},exports.TLV_TYPE_LENGTH=((_b={})[exports.BLE_IOT_DATA_TYPE_BOOL]=1,_b[exports.BLE_IOT_DATA_TYPE_INT]=4,_b[exports.BLE_IOT_DATA_TYPE_FLOAT]=4,_b[exports.BLE_IOT_DATA_TYPE_ENUM]=2,_b[exports.BLE_IOT_DATA_TYPE_TIME]=4,_b),exports.TEMPLATE_PROPERTY="properties",exports.TEMPLATE_EVENTS="events",exports.TEMPLATE_ACTIONS="actions",exports.NOT_SPLIT="NOT_SPLIT",exports.SPLIT_FIRST="SPLIT_FIRST",exports.SPLIT_MIDDLE="SPLIT_MIDDLE",exports.SPLIT_LAST="SPLIT_LAST",exports.SPLIT_MAP={0:exports.NOT_SPLIT,1:exports.SPLIT_FIRST,2:exports.SPLIT_MIDDLE,3:exports.SPLIT_LAST},exports.SPLIT_INDEX_MAP=((_c={})[exports.NOT_SPLIT]=0,_c[exports.SPLIT_FIRST]=1,_c[exports.SPLIT_MIDDLE]=2,_c[exports.SPLIT_LAST]=3,_c),exports.SPLIT_STR_MAP={0:"非分片报文",1:"起始分片",2:"中间分片",3:"结束分片"};
//# sourceMappingURL=constants.js.map

@@ -1,2 +0,2 @@

"use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.sliceData=exports.getTlvDataParser=exports.TlvDataTypeIndexMap=exports.convertActionOutputTlvToJsObject=exports.convertEventTlvToJsObject=exports.eventTlvData=exports.convertPropertiesChangeToTlv=exports.convertActionControlToTlv=exports.convertPropertiesTlvToJsObject=exports.tlvHex=exports.stringToTlv=exports.genHead=exports.getTypeHead=exports.getTypeIndexFromHead=exports.getTypeFromHead=exports.getStrLength=void 0;var tslib_1=require("tslib"),qcloud_iotexplorer_appdev_sdk_1=require("qcloud-iotexplorer-appdev-sdk"),constants=tslib_1.__importStar(require("./constants")),utils_1=require("../../../utils"),byteUtil=qcloud_iotexplorer_appdev_sdk_1.AppDevSdk.utils.byteUtil;exports.getStrLength=function(t){return parseInt(t.slice(0,2).join(""),16)},exports.getTypeFromHead=function(t){return parseInt(t,16)>>5},exports.getTypeIndexFromHead=function(t){return 31&parseInt(t,16)},exports.getTypeHead=function(t,e){return"string"==typeof t&&(t=parseInt(t,2)),"string"==typeof e&&(e=parseInt(e,2)),byteUtil.byteToHex(t<<5|31&e)},exports.genHead=function(t,e){var n=constants.TLV_TYPE_INDEX[t];return byteUtil.byteToHex(n<<5|31&e)},exports.stringToTlv=function(t){var e=""+utils_1.U16ToHexString(t.length)+byteUtil.byteArrayToHex(byteUtil.stringToByteArray(t));return byteUtil.hexString2hexArray(e)||[""]};var parseTlv=function(t){var e,n=t.type,o=t.tlvHex,a=t.hexIndex,r=t.needResolveType,s=void 0===r||r,T=constants.TLV_TYPE_LENGTH,l=constants.BLE_IOT_DATA_TYPE_BOOL,_=constants.BLE_IOT_DATA_TYPE_INT,c=constants.BLE_IOT_DATA_TYPE_ENUM,p=constants.BLE_IOT_DATA_TYPE_FLOAT,i=constants.BLE_IOT_DATA_TYPE_TIME,v=constants.BLE_IOT_DATA_TYPE_STRING,x=constants.BLE_IOT_DATA_TYPE_STRUCT,d=constants.BLE_IOT_DATA_TYPE_ARRAY;switch(s&&++a,n){case l:e=parseInt(o[a],16),a++;break;case i:case c:e=parseInt(o.slice(a,a+=T[n]).join(""),16);break;case p:e=parseFloat(""+byteUtil.hexArray2Float32(o.slice(a,a+=T[n]),3));break;case _:e=byteUtil.hex2Int32(o.slice(a,a+=T[n]));break;case v:var u=o.slice(a),I=exports.getStrLength(u);a+=2,u=o.slice(a,a+=I),e=utils_1.hex2str(u);break;case d:case x:u=o.slice(a),I=exports.getStrLength(u);a+=2,e=u=o.slice(a,a+=I)}return{hexIndex:a,value:e}},loopParseTlv=function(t,e,n,o){void 0===n&&(n=0),void 0===o&&(o=!1);for(var a={},r=n;r<e.length;){var s=exports.getTypeFromHead(e[r]),T=t[exports.getTypeIndexFromHead(e[r])];if(!T)throw{code:"ID_TEMPLATE_IS_NOT_EXIT"};var l=o?T.dataType.type:T.define.type;if(console.log("---type---",s,constants.TLV_TYPE_INDEX[l]),s!==constants.TLV_TYPE_INDEX[l])throw{code:"TYPE_IN_MODULE_IS_WRONG"};var _=parseTlv({type:l,tlvHex:e,hexIndex:r});if(r=_.hexIndex,l===constants.BLE_IOT_DATA_TYPE_ARRAY){for(var c=_.value||[],p=[],i=T.define.arrayInfo.type,v=0;v<c.length;){var x=parseTlv({type:i,tlvHex:c,hexIndex:v,needResolveType:!1}),d=x.hexIndex,u=x.value;v=d,i===constants.BLE_IOT_DATA_TYPE_STRUCT?p.push(loopParseTlv(T.define.arrayInfo.specs,u,0,!0)):p.push(u)}console.log("ARRAY",T,_,p),a[T.id]=p}else l===constants.BLE_IOT_DATA_TYPE_STRUCT?(console.log("STRUCT",T.define.specs,_.value),a[T.id]=loopParseTlv(T.define.specs,_.value,0,!0)):a[T.id]=_.value}return a},getIndexMap=function(t){var e={};return t.map((function(t,n){e[t.id]=n})),e},convertToTlv=function(t){var e=t.type,n=t.typeIndex,o=void 0===n?0:n,a=t.value,r=t.templateConfig,s=void 0===r?{}:r,T=t.needGenHead,l=void 0===T||T,_=constants.BLE_IOT_DATA_TYPE_BOOL,c=constants.BLE_IOT_DATA_TYPE_INT,p=constants.BLE_IOT_DATA_TYPE_ENUM,i=constants.BLE_IOT_DATA_TYPE_FLOAT,v=constants.BLE_IOT_DATA_TYPE_TIME,x=constants.BLE_IOT_DATA_TYPE_STRING,d=constants.BLE_IOT_DATA_TYPE_STRUCT,u=constants.BLE_IOT_DATA_TYPE_ARRAY,I=byteUtil.hexString2hexArray,E=byteUtil.int32ToHex,A=byteUtil.byteToHex,y=byteUtil.convertNumberToByte,g=[];switch(e){case _:g=[A(y(a))];break;case v:case c:g=I(E(a))||[""];break;case p:g=I(utils_1.U16ToHexString(a))||[""];break;case i:g=byteUtil.float32ToHexArray(parseFloat(a))||[""];break;case x:g=exports.stringToTlv(a);break;case d:var P=getIndexMap(s),D=loopConvertToTlv(a,P,s,!0).tlvData,O=D.length;g=tslib_1.__spread(byteUtil.hexString2hexArray(utils_1.U16ToHexString(O)),D);break;case u:var f=s[0],h=a;f&&Array.isArray(h)&&h.forEach((function(t){var e=convertToTlv({type:f.type,value:t,needGenHead:!1,templateConfig:f.type===d?f.specs:{}});g.push.apply(g,tslib_1.__spread(e))})),g=tslib_1.__spread(byteUtil.hexString2hexArray(utils_1.U16ToHexString(g.length)),g)}return l&&g.unshift(exports.genHead(e,o)),tslib_1.__spread(g)},loopConvertToTlv=function(t,e,n,o){void 0===o&&(o=!1);var a=[];Object.keys(t).forEach((function(r){var s=e[r],T=n[s]&&(o?n[s].dataType:n[s].define),l=null==T?void 0:T.type;if(!l)throw{code:"TEMPLATE_NOT_MATCH",detail:{jsObj:t,templateConfig:n}};var _=void 0;switch(l){case constants.BLE_IOT_DATA_TYPE_ARRAY:_=[n[s].define.arrayInfo];break;case constants.BLE_IOT_DATA_TYPE_STRUCT:_=n[s].define.specs;break;default:_={}}a[s]=convertToTlv({type:l,typeIndex:s,value:t[r],templateConfig:_})}));var r=[];return a.map((function(t){(null==t?void 0:t.length)&&r.push.apply(r,tslib_1.__spread(t))})),console.log("---tlvData---",r),{tlvData:r,tmpData:a}};exports.tlvHex=["00","00","81","00","00","22","00","00","00","00","43","00","0C","64","65","66","61","75","6C","74","20","6E","61","6D","65"],exports.convertPropertiesTlvToJsObject=function(t,e){var n=constants.TEMPLATE_PROPERTY;console.log("---tlvHex--",t);var o=e[n];if(!o)throw{code:"NO_SUCH_MODE_FOR_THIS_PRODUCT"};return loopParseTlv(o,t)},exports.convertActionControlToTlv=function(t,e){console.log("---convertActionControlToTlv--",t);var n=e[constants.TEMPLATE_ACTIONS],o=getIndexMap(n)[t.actionId],a=n[o],r=t.params,s=getIndexMap(a.input);console.log("---jsObj--",r,s);var T=loopConvertToTlv(r,s,a.input);return{actionIndex:o,tlvData:T.tlvData,tmpData:T.tmpData}},exports.convertPropertiesChangeToTlv=function(t,e){var n=constants.TEMPLATE_PROPERTY;console.log("---jsObj--",t,e);var o=e[n],a=getIndexMap(o),r=loopConvertToTlv(t,a,o),s=r.tlvData,T=r.tmpData;return console.warn("---tlvData---",s),console.warn("---tmpData---",T),{tlvData:s,tmpData:T}},exports.eventTlvData=["01","60","00","00","80","3F"],exports.convertEventTlvToJsObject=function(t,e){var n=constants.TEMPLATE_EVENTS,o=parseInt(t[0],16),a=e[n][o];if(!a)throw{code:"NO_SUCH_MODE_FOR_THIS_PRODUCT"};var r=loopParseTlv(a.params,t,1);return{eventId:a.id,eventIndex:o,params:r}},exports.convertActionOutputTlvToJsObject=function(t,e){var n=parseInt(t[0],16),o=e[constants.TEMPLATE_ACTIONS][n];if(!o)throw{code:"NO_SUCH_MODE_FOR_THIS_PRODUCT"};var a=loopParseTlv(o.output,t,1);return{actionId:o.id,actionIndex:n,outputParams:a}},exports.TlvDataTypeIndexMap=((_a={})[constants.PROPERTY_REPORT]=2,_a[constants.EVENT_REPORT]=3,_a[constants.ACTION_REPLY]=4,_a.default=2,_a),exports.getTlvDataParser=function(t){void 0===t&&(t="default");var e=[];return function(n){console.log("----data----",n);var o=exports.getStrLength(n),a=o>>14,r=o>>13&1,s=constants.SPLIT_MAP[a];switch(console.log(a,s,t),s){case constants.SPLIT_FIRST:return e=tslib_1.__spread(n.slice(2)),null;case constants.SPLIT_MIDDLE:return e=e.concat(n.slice(void 0!==exports.TlvDataTypeIndexMap[t]?exports.TlvDataTypeIndexMap[t]:2)),null;case constants.SPLIT_LAST:return(e=e.concat(n.slice(void 0!==exports.TlvDataTypeIndexMap[t]?exports.TlvDataTypeIndexMap[t]:2))).splice.apply(e,tslib_1.__spread([0,0],byteUtil.hexString2hexArray(utils_1.U16ToHexString(r<<15|e.length))||[])),console.log("----completeData---",e),e;case constants.NOT_SPLIT:return n}}},exports.sliceData=function(t,e){var n=e.head,o=e.mtu,a=(e.mode,[]),r=[],s=o-n.length-2;return t.forEach((function(t){if(t.length<s)r.push(t);else for(var e=0;e<t.length;e+=s)r.push(t.slice(e,e+s))})),r.forEach((function(t,e){var o,s=n.join("");o=0===e?constants.SPLIT_INDEX_MAP[constants.SPLIT_FIRST]:e===r.length-1?constants.SPLIT_INDEX_MAP[constants.SPLIT_LAST]:constants.SPLIT_INDEX_MAP[constants.SPLIT_MIDDLE],s+=utils_1.U16ToHexString(o<<14|t.length),s+=t.join(""),a.push(s)})),a};
"use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.sliceData=exports.getTlvDataParser=exports.TlvDataTypeIndexMap=exports.convertActionOutputTlvToJsObject=exports.convertEventTlvToJsObject=exports.eventTlvData=exports.convertPropertiesChangeToTlv=exports.convertActionControlToTlv=exports.convertPropertiesTlvToJsObject=exports.tlvHex=exports.stringToTlv=exports.genHead=exports.getTypeHead=exports.getTypeIndexFromHead=exports.getTypeFromHead=exports.getStrLength=void 0;var tslib_1=require("tslib"),qcloud_iotexplorer_appdev_sdk_1=require("qcloud-iotexplorer-appdev-sdk"),qcloud_iotexplorer_logger_1=tslib_1.__importDefault(require("qcloud-iotexplorer-logger")),constants=tslib_1.__importStar(require("./constants")),utils_1=require("../../../utils"),byteUtil=qcloud_iotexplorer_appdev_sdk_1.AppDevSdk.utils.byteUtil;exports.getStrLength=function(e){return parseInt(e.slice(0,2).join(""),16)},exports.getTypeFromHead=function(e){return parseInt(e,16)>>5},exports.getTypeIndexFromHead=function(e){return 31&parseInt(e,16)},exports.getTypeHead=function(e,t){return"string"==typeof e&&(e=parseInt(e,2)),"string"==typeof t&&(t=parseInt(t,2)),byteUtil.byteToHex(e<<5|31&t)},exports.genHead=function(e,t){var o=constants.TLV_TYPE_INDEX[e];return byteUtil.byteToHex(o<<5|31&t)},exports.stringToTlv=function(e){var t=""+utils_1.U16ToHexString(e.length)+byteUtil.byteArrayToHex(byteUtil.stringToByteArray(e));return byteUtil.hexString2hexArray(t)||[""]};var parseTlv=function(e){var t,o=e.type,n=e.tlvHex,r=e.hexIndex,a=e.needResolveType,s=void 0===a||a,T=constants.TLV_TYPE_LENGTH,l=constants.BLE_IOT_DATA_TYPE_BOOL,i=constants.BLE_IOT_DATA_TYPE_INT,_=constants.BLE_IOT_DATA_TYPE_ENUM,p=constants.BLE_IOT_DATA_TYPE_FLOAT,c=constants.BLE_IOT_DATA_TYPE_TIME,v=constants.BLE_IOT_DATA_TYPE_STRING,d=constants.BLE_IOT_DATA_TYPE_STRUCT,x=constants.BLE_IOT_DATA_TYPE_ARRAY;switch(s&&++r,o){case l:t=parseInt(n[r],16),r++;break;case c:case _:t=parseInt(n.slice(r,r+=T[o]).join(""),16);break;case p:t=parseFloat(""+byteUtil.hexArray2Float32(n.slice(r,r+=T[o]),3));break;case i:t=byteUtil.hex2Int32(n.slice(r,r+=T[o]));break;case v:var u=n.slice(r),I=exports.getStrLength(u);r+=2,u=n.slice(r,r+=I),t=utils_1.hex2str(u);break;case x:case d:u=n.slice(r),I=exports.getStrLength(u);r+=2,t=u=n.slice(r,r+=I)}return{hexIndex:r,value:t}},loopParseTlv=function(e,t,o,n,r){void 0===o&&(o=0),void 0===n&&(n=!1),void 0===r&&(r="");for(var a={},s=o;s<t.length;){var T=exports.getTypeFromHead(t[s]),l=exports.getTypeIndexFromHead(t[s]),i=e[l];if(!i){var _=["设备上报"+r+"中 index="+l+" 的字段","在物模型中不存在"].join(" ");throw qcloud_iotexplorer_logger_1.default.error("ble.tlvJson.parse.indexNotExist",{message:_,data:{indexFromHex:l,inStruct:n,context:r}}),{code:"ID_TEMPLATE_IS_NOT_EXIT",detail:_}}var p=n?i.dataType.type:i.define.type;if(T!==constants.TLV_TYPE_INDEX[p]){_=["设备上报"+r+"中 index="+l+" 的字段类型为",(constants.TLV_TYPE_INDEX_REVERSE[T]||"unknown("+T+")")+",","与物模型中 index="+l+" (标识符 "+i.id+") 的类型 "+p+" 不一致"].join(" ");throw qcloud_iotexplorer_logger_1.default.error("ble.tlvJson.parse.typeNotMatch",{message:_,data:{indexFromHex:l,typeNumFromHex:T,inStruct:n,context:r}}),{code:"TYPE_IN_MODULE_IS_WRONG",detail:_}}var c=parseTlv({type:p,tlvHex:t,hexIndex:s});if(s=c.hexIndex,p===constants.BLE_IOT_DATA_TYPE_ARRAY){for(var v=c.value||[],d=[],x=i.define.arrayInfo.type,u=0;u<v.length;){var I=parseTlv({type:x,tlvHex:v,hexIndex:u,needResolveType:!1}),E=I.hexIndex,g=I.value;u=E,x===constants.BLE_IOT_DATA_TYPE_STRUCT?d.push(loopParseTlv(i.define.arrayInfo.specs,g,0,!0,r+"中的结构体数组 "+i.id+" ")):d.push(g)}a[i.id]=d}else p===constants.BLE_IOT_DATA_TYPE_STRUCT?a[i.id]=loopParseTlv(i.define.specs,c.value,0,!0,r+"中的结构体 "+i.id+" "):a[i.id]=c.value}return a},getIndexMap=function(e){var t={};return e.map((function(e,o){t[e.id]=o})),t},convertToTlv=function(e){var t=e.type,o=e.typeIndex,n=void 0===o?0:o,r=e.value,a=e.templateConfig,s=void 0===a?{}:a,T=e.needGenHead,l=void 0===T||T,i=e.context,_=void 0===i?"":i,p=constants.BLE_IOT_DATA_TYPE_BOOL,c=constants.BLE_IOT_DATA_TYPE_INT,v=constants.BLE_IOT_DATA_TYPE_ENUM,d=constants.BLE_IOT_DATA_TYPE_FLOAT,x=constants.BLE_IOT_DATA_TYPE_TIME,u=constants.BLE_IOT_DATA_TYPE_STRING,I=constants.BLE_IOT_DATA_TYPE_STRUCT,E=constants.BLE_IOT_DATA_TYPE_ARRAY,g=byteUtil.hexString2hexArray,A=byteUtil.int32ToHex,y=byteUtil.byteToHex,P=byteUtil.convertNumberToByte,f=[];switch(t){case p:f=[y(P(r))];break;case x:case c:f=g(A(r))||[""];break;case v:f=g(utils_1.U16ToHexString(r))||[""];break;case d:f=byteUtil.float32ToHexArray(parseFloat(r))||[""];break;case u:f=exports.stringToTlv(r);break;case I:var D=getIndexMap(s),O=loopConvertToTlv(r,D,s,!0,_).tlvData,b=O.length;f=tslib_1.__spread(byteUtil.hexString2hexArray(utils_1.U16ToHexString(b)),O);break;case E:var h=s[0],L=r;h&&Array.isArray(L)&&L.forEach((function(e){var t=convertToTlv({type:h.type,value:e,needGenHead:!1,templateConfig:h.type===I?h.specs:{},context:_});f.push.apply(f,tslib_1.__spread(t))})),f=tslib_1.__spread(byteUtil.hexString2hexArray(utils_1.U16ToHexString(f.length)),f)}return l&&f.unshift(exports.genHead(t,n)),tslib_1.__spread(f)},loopConvertToTlv=function(e,t,o,n,r){void 0===n&&(n=!1),void 0===r&&(r="");var a=[];Object.keys(e).forEach((function(s){var T=t[s],l=o[T]&&(n?o[T].dataType:o[T].define),i=null==l?void 0:l.type;if(!i){var _=r+"中的字段 "+s+" 在物模型中不存在";throw qcloud_iotexplorer_logger_1.default.error("ble.tlvJson.emit.fieldNotFound",{message:_,data:{jsObj:e,templateConfig:o,id:s}}),{code:"TEMPLATE_NOT_MATCH",detail:{jsObj:e,templateConfig:o,id:s,msg:_}}}var p=void 0,c=r;switch(i){case constants.BLE_IOT_DATA_TYPE_ARRAY:p=[o[T].define.arrayInfo],c=c+"中的数组 "+s+" ";break;case constants.BLE_IOT_DATA_TYPE_STRUCT:p=o[T].define.specs,c=c+"中的结构体 "+s+" ";break;default:p={}}a[T]=convertToTlv({type:i,typeIndex:T,value:e[s],templateConfig:p,context:c})}));var s=[];return a.map((function(e){(null==e?void 0:e.length)&&s.push.apply(s,tslib_1.__spread(e))})),{tlvData:s,tmpData:a}};exports.tlvHex=["00","00","81","00","00","22","00","00","00","00","43","00","0C","64","65","66","61","75","6C","74","20","6E","61","6D","65"],exports.convertPropertiesTlvToJsObject=function(e,t){var o=t[constants.TEMPLATE_PROPERTY];if(!o)throw{code:"NO_SUCH_MODE_FOR_THIS_PRODUCT",detail:"物模型中的属性列表为空"};return loopParseTlv(o,e,0,!1,"属性")},exports.convertActionControlToTlv=function(e,t){var o=t[constants.TEMPLATE_ACTIONS],n=getIndexMap(o)[e.actionId],r=o[n],a=e.params,s=getIndexMap(r.input),T=loopConvertToTlv(a,s,r.input,!1,"行为 "+r.id+" ");return{actionIndex:n,tlvData:T.tlvData,tmpData:T.tmpData}},exports.convertPropertiesChangeToTlv=function(e,t){var o=t[constants.TEMPLATE_PROPERTY],n=getIndexMap(o),r=loopConvertToTlv(e,n,o,!1,"属性");return{tlvData:r.tlvData,tmpData:r.tmpData}},exports.eventTlvData=["01","60","00","00","80","3F"],exports.convertEventTlvToJsObject=function(e,t){var o=constants.TEMPLATE_EVENTS,n=parseInt(e[0],16),r=t[o][n];if(!r)throw{code:"NO_SUCH_MODE_FOR_THIS_PRODUCT",detail:"物模型中的事件列表为空"};var a=loopParseTlv(r.params,e,1,!1,"事件 "+r.id+" ");return{eventId:r.id,eventIndex:n,params:a}},exports.convertActionOutputTlvToJsObject=function(e,t){var o=parseInt(e[0],16),n=t[constants.TEMPLATE_ACTIONS][o];if(!n)throw{code:"NO_SUCH_MODE_FOR_THIS_PRODUCT",detail:"物模型中的行为列表为空"};var r=loopParseTlv(n.output,e,1,!1,"行为回复 "+n.id+" ");return{actionId:n.id,actionIndex:o,outputParams:r}},exports.TlvDataTypeIndexMap=((_a={})[constants.PROPERTY_REPORT]=2,_a[constants.EVENT_REPORT]=3,_a[constants.ACTION_REPLY]=4,_a.default=2,_a),exports.getTlvDataParser=function(e){void 0===e&&(e="default");var t=[];return function(o){var n=exports.getStrLength(o),r=n>>14,a=n>>13&1,s=constants.SPLIT_MAP[r];switch(qcloud_iotexplorer_logger_1.default.debug("ble.tlvJson.recvSlice",{message:"接收到"+constants.SPLIT_STR_MAP[r],data:{data:o,splitMark:r,reserveBit:a}}),s){case constants.SPLIT_FIRST:return t=tslib_1.__spread(o.slice(2)),null;case constants.SPLIT_MIDDLE:return t=t.concat(o.slice(void 0!==exports.TlvDataTypeIndexMap[e]?exports.TlvDataTypeIndexMap[e]:2)),null;case constants.SPLIT_LAST:var T=t.concat(o.slice(void 0!==exports.TlvDataTypeIndexMap[e]?exports.TlvDataTypeIndexMap[e]:2));return T.splice.apply(T,tslib_1.__spread([0,0],byteUtil.hexString2hexArray(utils_1.U16ToHexString(a<<15|T.length))||[])),qcloud_iotexplorer_logger_1.default.debug("ble.tlvJson.concatSlices",{message:"分片拼接为完整报文",data:T}),t=[],T;case constants.NOT_SPLIT:return o}}},exports.sliceData=function(e,t){var o=t.head,n=t.mtu,r=(t.mode,[]),a=[],s=n-o.length-2;return e.forEach((function(e){if(e.length<s)a.push(e);else for(var t=0;t<e.length;t+=s)a.push(e.slice(t,t+s))})),a.forEach((function(e,t){var n,s=o.join("");n=0===t?constants.SPLIT_INDEX_MAP[constants.SPLIT_FIRST]:t===a.length-1?constants.SPLIT_INDEX_MAP[constants.SPLIT_LAST]:constants.SPLIT_INDEX_MAP[constants.SPLIT_MIDDLE],s+=utils_1.U16ToHexString(n<<14|e.length),s+=e.join(""),r.push(s)})),r};
//# sourceMappingURL=index.js.map

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getProductDateTemplate=exports.hmacSHA1=exports.md5=exports.downloadFile=exports.hexArrayTo128BleAdvertUUIDStr=exports.str2hexStr=exports.hex2str=exports.gen4BytesIntHex=exports.gen2BytesIntHex=exports.get8ByteFromStr=exports.U8ToHexString=exports.U16ToHexString=exports.U32ToHexString=void 0;var tslib_1=require("tslib"),qcloud_iotexplorer_appdev_sdk_1=require("qcloud-iotexplorer-appdev-sdk"),spark_md5_1=tslib_1.__importDefault(require("spark-md5")),_a=qcloud_iotexplorer_appdev_sdk_1.AppDevSdk.utils,noop=_a.noop,byteUtil=_a.byteUtil,CryptoJS=_a.CryptoJS;exports.U32ToHexString=function(t){var e=t.toString(16).toUpperCase();return""+"00000000".slice(0,8-e.length)+e},exports.U16ToHexString=function(t){var e=t.toString(16).toUpperCase();return""+"0000".slice(0,4-e.length)+e},exports.U8ToHexString=function(t){var e=t.toString(16).toUpperCase();if(e.length>2)throw"length error,must less then 255";return""+"00".slice(0,2-e.length)+e},exports.get8ByteFromStr=function(t){for(var e=exports.md5(t),r=byteUtil.hexStringToByteArray(e.substring(0,e.length/2)),o=byteUtil.hexStringToByteArray(e.substring(e.length/2)),n=[],s=0;s<r.length;s++)n[s]=r[s]^o[s];return byteUtil.byteArrayToHex(n)},exports.gen2BytesIntHex=function(){var t=Math.floor(Math.random()*Math.pow(10,4)).toString(16);return""+t+"feaa".slice(0,4-t.length)},exports.gen4BytesIntHex=function(){var t=Math.floor(Math.random()*Math.pow(10,9)).toString(16);return""+t+"feaa12dd".slice(0,8-t.length)},exports.hex2str=function(t){var e;return e="string"==typeof t?t.match(/[\da-f]{2}/gi):t,byteUtil.utf8ByteArrayToString(e.map((function(t){return parseInt(t,16)})))},exports.str2hexStr=function(t){return byteUtil.byteArrayToHex(byteUtil.stringToByteArray(t))},exports.hexArrayTo128BleAdvertUUIDStr=function(t){var e=tslib_1.__spread(t);return e.splice(4,0,"-"),e.splice(7,0,"-"),e.splice(10,0,"-"),e.splice(13,0,"-"),e.join("")},exports.downloadFile=function(t,e){var r=(void 0===e?{}:e).onProgress,o=void 0===r?noop:r;return new Promise((function(e){wx.downloadFile({url:t,success:function(t){console.log(t),wx.getFileSystemManager().readFile({filePath:t.tempFilePath,success:function(t){console.log(t);var r=t.data.byteLength;e({fileSize:r,fileBuffer:t.data})}})}}).onProgressUpdate((function(t){return o(t)}))}))},exports.md5=function(t){return spark_md5_1.default.hash(t)},exports.hmacSHA1=function(t,e){var r=CryptoJS.enc.Hex.parse(String(e)),o=CryptoJS.HmacSHA1(String(t),r);return console.log("encrypt",r,t,o.toString(CryptoJS.enc.Hex)),o.toString(CryptoJS.enc.Hex)},exports.getProductDateTemplate=function(t){try{if(!t)throw{code:"GET_PRODUCT_INFO_FAIL",msg:"获取产品信息失败"};var e=t.DataTemplate;return"string"==typeof e&&(e=JSON.parse(e)),e}catch(t){throw tslib_1.__assign({code:"TEMPLATE_ERROR"},t)}};
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getProductDateTemplate=exports.hmacSHA1=exports.md5=exports.downloadFile=exports.hexArrayTo128BleAdvertUUIDStr=exports.str2hexStr=exports.hex2str=exports.gen4BytesIntHex=exports.gen2BytesIntHex=exports.get8ByteFromStr=exports.U8ToHexString=exports.U16ToHexString=exports.U32ToHexString=void 0;var tslib_1=require("tslib"),qcloud_iotexplorer_appdev_sdk_1=require("qcloud-iotexplorer-appdev-sdk"),spark_md5_1=tslib_1.__importDefault(require("spark-md5")),_a=qcloud_iotexplorer_appdev_sdk_1.AppDevSdk.utils,noop=_a.noop,byteUtil=_a.byteUtil,CryptoJS=_a.CryptoJS;exports.U32ToHexString=function(t){var e=t.toString(16).toUpperCase();return""+"00000000".slice(0,8-e.length)+e},exports.U16ToHexString=function(t){var e=t.toString(16).toUpperCase();return""+"0000".slice(0,4-e.length)+e},exports.U8ToHexString=function(t){var e=t.toString(16).toUpperCase();if(e.length>2)throw"length error,must less then 255";return""+"00".slice(0,2-e.length)+e},exports.get8ByteFromStr=function(t){for(var e=exports.md5(t),r=byteUtil.hexStringToByteArray(e.substring(0,e.length/2)),o=byteUtil.hexStringToByteArray(e.substring(e.length/2)),n=[],s=0;s<r.length;s++)n[s]=r[s]^o[s];return byteUtil.byteArrayToHex(n)},exports.gen2BytesIntHex=function(){var t=Math.floor(Math.random()*Math.pow(10,4)).toString(16);return""+t+"feaa".slice(0,4-t.length)},exports.gen4BytesIntHex=function(){var t=Math.floor(Math.random()*Math.pow(10,9)).toString(16);return""+t+"feaa12dd".slice(0,8-t.length)},exports.hex2str=function(t){var e;return e="string"==typeof t?t.match(/[\da-f]{2}/gi):t,byteUtil.utf8ByteArrayToString(e.map((function(t){return parseInt(t,16)})))},exports.str2hexStr=function(t){return byteUtil.byteArrayToHex(byteUtil.stringToByteArray(t))},exports.hexArrayTo128BleAdvertUUIDStr=function(t){var e=tslib_1.__spread(t);return e.splice(4,0,"-"),e.splice(7,0,"-"),e.splice(10,0,"-"),e.splice(13,0,"-"),e.join("")},exports.downloadFile=function(t,e){var r=(void 0===e?{}:e).onProgress,o=void 0===r?noop:r;return new Promise((function(e){wx.downloadFile({url:t,success:function(t){wx.getFileSystemManager().readFile({filePath:t.tempFilePath,success:function(t){var r=t.data.byteLength;e({fileSize:r,fileBuffer:t.data})}})}}).onProgressUpdate((function(t){return o(t)}))}))},exports.md5=function(t){return spark_md5_1.default.hash(t)},exports.hmacSHA1=function(t,e){var r=CryptoJS.enc.Hex.parse(String(e));return CryptoJS.HmacSHA1(String(t),r).toString(CryptoJS.enc.Hex)},exports.getProductDateTemplate=function(t){try{if(!t)throw{code:"GET_PRODUCT_INFO_FAIL",msg:"获取产品信息失败"};var e=t.DataTemplate;return"string"==typeof e&&(e=JSON.parse(e)),e}catch(t){throw tslib_1.__assign({code:"TEMPLATE_ERROR"},t)}};
//# sourceMappingURL=index.js.map
{
"name": "qcloud-iotexplorer-common-libs",
"version": "0.12.15",
"version": "0.12.16",
"description": "腾讯云IOT前端通用工具库",

@@ -26,3 +26,3 @@ "main": "lib/index.js",

},
"gitHead": "d208071b4debbdfa750bbe038599f9151748bf0b"
"gitHead": "572dae28019e882a5527edc60cd2acb8cc61ac1f"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc