MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / parsePermissions

Method parsePermissions

tools/bles2gatt.js:1238–1275  ·  view source on GitHub ↗
(permissions)

Source from the content-addressed store, hash-verified

1236 return props;
1237 }
1238 parsePermissions(permissions) {
1239 const gatt_att_perm_readable = 0x0001;
1240 const gatt_att_perm_writable = 0x0002;
1241 const gatt_att_perm_write_no_response = 0x0004;
1242 const gatt_att_perm_encrypted_read = 0x0010;
1243 const gatt_att_perm_encrypted_write = 0x0100;
1244 const gatt_att_perm_discoverable = 0x0800;
1245 let perms = gatt_att_perm_discoverable;
1246 let readPerms = 0;
1247 let writePerms = 0;
1248 permissions.forEach(p => {
1249 switch(p.trim()) {
1250 case "read":
1251 ++readPerms;
1252 perms |= gatt_att_perm_readable;
1253 break;
1254 case "readEncrypted":
1255 ++readPerms;
1256 perms |= gatt_att_perm_encrypted_read;
1257 break;
1258 case "write":
1259 ++writePerms;
1260 perms |= gatt_att_perm_writable;
1261 break;
1262 case "writeEncrypted":
1263 ++writePerms;
1264 perms |= gatt_att_perm_encrypted_write;
1265 break;
1266 default:
1267 throw new Error("unsupported permission");
1268 }
1269 });
1270 if (readPerms > 1)
1271 throw new Error("only one of read/readEncrypted can be specified");
1272 if (writePerms > 1)
1273 throw new Error("only one of write/writeEncrypted can be specified");
1274 return perms;
1275 }
1276};
1277
1278class NRF52GATTFile extends GATTFile {

Callers 1

generateMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected