(uri)
| 33 | }); |
| 34 | } |
| 35 | encodeData(uri) { |
| 36 | let flags = 0; |
| 37 | let txPower = 0xEE; |
| 38 | let scheme = schemes.findIndex(scheme => uri.startsWith(scheme)); |
| 39 | if (-1 == scheme) |
| 40 | throw new Error('invalid uri scheme'); |
| 41 | uri = uri.slice(schemes[scheme].length); |
| 42 | uri = domains.reduce((uri, domain, index) => uri.replace(domain, String.fromCharCode(index)), uri); |
| 43 | let data = [flags, txPower, scheme].concat(Array.from(uri).map(c => c.charCodeAt(0))); |
| 44 | return data; |
| 45 | } |
| 46 | } |
| 47 | |
| 48 | let advertiser = new URIBeacon; |