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

Method parsePermissions

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

Source from the content-addressed store, hash-verified

282 return props;
283 }
284 parsePermissions(permissions) {
285 let perms = [];
286 let readPerms = 0;
287 let writePerms = 0;
288 permissions.forEach(p => {
289 switch(p.trim()) {
290 case "read":
291 ++readPerms;
292 perms.push("ESP_GATT_PERM_READ");
293 break;
294 case "readEncrypted":
295 ++readPerms;
296 perms.push("ESP_GATT_PERM_READ_ENCRYPTED");
297 break;
298 case "write":
299 ++writePerms;
300 perms.push("ESP_GATT_PERM_WRITE");
301 break;
302 case "writeEncrypted":
303 ++writePerms;
304 perms.push("ESP_GATT_PERM_WRITE_ENCRYPTED");
305 break;
306 default:
307 throw new Error("unsupported permission");
308 }
309 });
310 if (readPerms > 1)
311 throw new Error("only one of read/readEncrypted can be specified");
312 if (writePerms > 1)
313 throw new Error("only one of write/writeEncrypted can be specified");
314
315 return perms.join("|");
316 }
317 writeAttributeValue(file, attribute, index, prefix) {
318 let buffer = typedValueToBuffer(attribute.type, attribute.value);
319 attribute._length = buffer.byteLength;

Callers 1

generateMethod · 0.95

Calls 1

pushMethod · 0.45

Tested by

no test coverage detected