structured-field-values
Version:
Implementation of Structured Field Values from IETF httpbis RFC8941
32 lines (26 loc) • 848 B
HTML
<meta charset=utf-8>
<meta name=viewport content="width=device-width,initial-scale=1">
<title>Test</title>
<script type=module>
import {
decodeItem,
decodeList,
decodeDict,
encodeItem,
encodeList,
encodeDict,
} from "../index.js"
;[`a`, `"a"`, `10`, `3.14`, `?0`, `"a";x;y=?0;z=10`, `:AQIDBA==:`].forEach((value) => {
console.assert(encodeItem(decodeItem(value)) === value)
})
const a = decodeItem(`a`).value // Symbol(a)
console.log(Symbol.keyFor(a)) // "a" (string)
console.assert(encodeItem(decodeItem('1.0')) === '1') // '1' not '1.0'
;[`1, 2, 3`, `a;x, "b";y=?0, 10, (1 2)`].forEach((value) => {
console.assert(encodeList(decodeList(value)) === value)
})
;[`a=x, b="y", c=10, d=?0, e=(1 2)`].forEach((value) => {
console.assert(encodeDict(decodeDict(value)) === value)
})
</script>