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

Method serialize

modules/network/ble/btutils.js:428–448  ·  view source on GitHub ↗
(obj)

Source from the content-addressed store, hash-verified

426 return -1;
427 }
428 static serialize(obj) {
429 let parts = [];
430 for (let key in obj)
431 parts.push(AdvertisementSerializer[key](obj[key]));
432 let length = 2 * parts.length; // one byte each for type and length
433 for (let i = 0; i < parts.length; ++i) {
434 let part = parts[i];
435 length += part.data.length;
436 }
437 if (length > GAP.MAX_AD_LENGTH)
438 throw new Error("advertisement exceeds maximum length");
439 let advertisement = new Uint8Array(length);
440 for (let i = 0, j = 0; i < parts.length; ++i) {
441 let part = parts[i];
442 advertisement[j++] = 1 + part.data.length;
443 advertisement[j++] = part.type;
444 advertisement.set(part.data, j);
445 j += part.data.length;
446 }
447 return advertisement.buffer;
448 }
449
450 #getStringType(index) {
451 const adLength = this.#data[index];

Callers 1

bleserver.jsFile · 0.45

Calls 2

setMethod · 0.65
pushMethod · 0.45

Tested by

no test coverage detected