Example: cmd: -r:off
import std/jsheaders
block:
let header: Headers = newHeaders()
header.add("key", "value")
assert header.hasKey("key")
assert header.keys() == @["key".cstring]
assert header.values() == @["value".cstring]
assert header["key"] == "value".cstring
header["other"] = "another".cstring
assert header["other"] == "another".cstring
assert header.entries() == @[("key".cstring, "value".cstring), ("other".cstring, "another".cstring)]
assert header.toCstring() == """[["key","value"],["other","another"]]""".cstring
header.delete("other")
assert header.entries() == @[("key".cstring, "value".cstring)]
header.clear()
assert header.entries() == @[]
assert header.len == 0
block:
let header: Headers = newHeaders()
header.add("key", "a")
header.add("key", "b") ## Duplicated.
header.add("key", "c") ## Duplicated.
assert header["key"] == "a, b, c".cstring
header["key"] = "value".cstring
assert header["key"] == "value".cstring
block:
let header: Headers = newHeaders()
header["key"] = "a"
header["key"] = "b" ## Overwrites.
assert header["key"] == "b".cstring func `[]`(self: Headers; key: cstring): cstring {.importjs: "#.get(#)",
...raises: [], tags: [], forbids: [].}key from the headers, including duplicated values. https://developer.mozilla.org/en-US/docs/Web/API/Headers/get Source Edit func `[]=`(self: Headers; key: cstring; value: cstring) {.
importjs: "#.set(#, #)", ...raises: [], tags: [], forbids: [].}func add(self: Headers; key: cstring; value: cstring) {.
importjs: "#.append(#, #)", ...raises: [], tags: [], forbids: [].}func delete(self: Headers; key: cstring) {.importjs: "#.$1(#)", ...raises: [],
tags: [], forbids: [].}key from the headers, including duplicated keys.func entries(self: Headers): seq[tuple[key, value: cstring]] {.
importjs: "Array.from(#.$1())", ...raises: [], tags: [], forbids: [].}func hasKey(self: Headers; key: cstring): bool {.importjs: "#.has(#)",
...raises: [], tags: [], forbids: [].}func keys(self: Headers): seq[cstring] {.importjs: "Array.from(#.$1())",
...raises: [], tags: [], forbids: [].}func newHeaders(): Headers {.importjs: "new Headers()", ...raises: [], tags: [],
forbids: [].}func values(self: Headers): seq[cstring] {.importjs: "Array.from(#.$1())",
...raises: [], tags: [], forbids: [].}
© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/jsheaders.html