The open-source core behind Wavect's browser-local LoRaWAN Payload Codec Workbench.
It parses hex, Base64, and byte-array payloads, compares structural JSON output, validates modern and legacy codec return contracts, and exports portable fixtures, Vitest tests, and Markdown reports. The browser adapter runs pasted codec code in an opaque-origin iframe with a disposable Web Worker and a fixed timeout.
- The Things Stack v3 and ChirpStack v4:
decodeUplink,normalizeUplink,encodeDownlink, anddecodeDownlink - Legacy network-server codecs:
Decoder(bytes, port)andEncoder(data, port) - Encode and decode round trips, byte-access traces, expected-output differences, warnings, errors, and timeouts
src/lorawan-core.js: environment-independent parsing, validation, fixtures, and exportssrc/browser-app.js: Wavect's DOM adapter and isolated worker sandboxtest/lorawan-core.test.mjs: regression and sandbox-boundary tests
The browser adapter expects the markup and localized configuration rendered by the hosted Wavect page. The core module can be imported independently.
npm ci
npm testThe tool never needs an account or backend. The hosted version processes code and payloads locally in the browser.
GNU General Public License v3.0 only. See LICENSE.