utils/twtstr

Search:
Group by:

Types

BoxDrawingChar = enum
  bdcHorizontalBarTop = "─", bdcHorizontalBarBottom = "─",
  bdcVerticalBarLeft = "│", bdcVerticalBarRight = "│",
  bdcCornerTopLeft = "┌", bdcCornerTopRight = "┐",
  bdcCornerBottomLeft = "└", bdcCornerBottomRight = "┘",
  bdcSideBarLeft = "├", bdcSideBarRight = "┤", bdcSideBarTop = "┬",
  bdcSideBarBottom = "┴", bdcSideBarCross = "┼"
EscapeMode = enum
  emAll, emAttribute, emText
IdentMapItem = tuple[s: string, n: int]

Consts

AllChars = {'\x00'..'\xFF'}
ApplicationXWWWFormUrlEncodedSet = {'\x00'..')', '+'..',', '/', ':'..'@',
                                    '['..'^', '`', '{'..'\xFF'}
Ascii = {'\x00'..'\x7F'}
AsciiAlpha = {'A'..'Z', 'a'..'z'}
AsciiAlphaNumeric = {'0'..'9', 'A'..'Z', 'a'..'z'}
AsciiDigit = {'0'..'9'}
AsciiHexDigit = {'0'..'9', 'A'..'F', 'a'..'f'}
AsciiLowerAlpha = {'a'..'z'}
AsciiUpperAlpha = {'A'..'Z'}
AsciiWhitespace = {' ', '\n', '\r', '\t', '\f'}
C0Controls = {'\x00'..'\x1F'}
ComponentPercentEncodeSet = {'\x00'..' ', '\"'..'&', '+'..',', '/', ':'..'@',
                             '['..'^', '`', '{'..'}', '\x7F'..'\xFF'}
ControlPercentEncodeSet = {'\x00'..'\x1F', '\x7F'..'\xFF'}
Controls = {'\x00'..'\x1F', '\x7F'}
FragmentPercentEncodeSet = {'\x00'..' ', '\"', '<', '>', '`', '\x7F'..'\xFF'}
HorizontalBar = {bdcHorizontalBarTop, bdcHorizontalBarBottom}
HTTPWhitespace = {' ', '\n', '\r', '\t'}
LocalPathPercentEncodeSet = {'\x00'..'-', ':'..'@', '['..'`', '{'..'\x7F'}
NonAscii = {'\x80'..'\xFF'}
NonDigit = {'\x00'..'/', ':'..'\xFF'}
PathPercentEncodeSet = {'\x00'..' ', '\"'..'#', '<', '>'..'?', '^', '`', '{',
                        '}', '\x7F'..'\xFF'}
QueryPercentEncodeSet = {'\x00'..' ', '\"'..'#', '<', '>', '\x7F'..'\xFF'}
SpecialQueryPercentEncodeSet = {'\x00'..' ', '\"'..'#', '\'', '<', '>',
                                '\x7F'..'\xFF'}
UserInfoPercentEncodeSet = {'\x00'..' ', '\"'..'#', '/', ':'..'@', '['..'^',
                            '`', '{'..'}', '\x7F'..'\xFF'}
VerticalBar = {bdcVerticalBarLeft, bdcVerticalBarRight}

Procs

proc add(s: var string; u: uint8) {....raises: [], tags: [], forbids: [].}
proc addPoints(res: var seq[uint32]; s: openArray[char]) {....raises: [], tags: [],
    forbids: [].}
proc addUTF8(res: var string; u: uint32) {....raises: [], tags: [], forbids: [].}
proc addUTF8(res: var string; us: openArray[uint32]) {....raises: [], tags: [],
    forbids: [].}
proc after(s: string; c: char): string {....raises: [], tags: [], forbids: [].}
proc after(s: string; c: set[char]): string {....raises: [], tags: [], forbids: [].}
proc afterLast(s: string; c: char): string {....raises: [], tags: [], forbids: [].}
proc afterLast(s: string; c: set[char]): string {....raises: [], tags: [],
    forbids: [].}
proc atob(outs: var string; data: string): Err[cstring] {....raises: [], tags: [],
    forbids: [].}
proc btoa(data: openArray[char]): string {....raises: [], tags: [], forbids: [].}
proc btoa(data: openArray[uint8]): string {....raises: [], tags: [], forbids: [].}
proc btoa(s: var string; data: openArray[uint8]) {....raises: [], tags: [],
    forbids: [].}
proc camelToKebabCase(s: openArray[char]; dashPrefix = false): string {.
    ...raises: [], tags: [], forbids: [].}
proc chaArrayCopy[T](dest, src: var openArray[T]) {....raises: [].}
proc cmpIgnoreCase(a, b: string): int {....raises: [], tags: [], forbids: [].}
proc contains(s1: openArray[char]; s2: string): bool {....raises: [], tags: [],
    forbids: [].}
proc contains(s: openArray[char]; cs: set[char]): bool {....raises: [], tags: [],
    forbids: [].}
proc containsIgnoreCase(ss: openArray[string]; s: string): bool {....raises: [],
    tags: [], forbids: [].}
proc containsToken(s: openArray[char]; tok: string): bool {....raises: [],
    tags: [], forbids: [].}
proc containsTokenIgnoreCase(s: openArray[char]; tok: string): bool {.
    ...raises: [], tags: [], forbids: [].}
proc controlToVisual(u: uint32): string {....raises: [], tags: [], forbids: [].}
proc convertSize(size: uint64): string {....raises: [], tags: [], forbids: [].}
proc count(s: openArray[char]; c: char): int {....raises: [], tags: [], forbids: [].}
proc count(s: openArray[char]; cs: set[char]): int {....raises: [], tags: [],
    forbids: [].}
proc cssEscape(s: openArray[char]): string {....raises: [], tags: [], forbids: [].}
proc decValue(c: char): int {....raises: [], tags: [], forbids: [].}
proc delete(s: var string; slice: Slice[int]) {....raises: [], tags: [],
    forbids: [].}
proc deleteChars(s: openArray[char]; todel: set[char]): string {....raises: [],
    tags: [], forbids: [].}
proc dqEscape(s: openArray[char]): string {....raises: [], tags: [], forbids: [].}
proc endsWith(s1, s2: openArray[char]): bool {....raises: [], tags: [], forbids: [].}
proc endsWithIgnoreCase(s1, s2: openArray[char]): bool {....raises: [], tags: [],
    forbids: [].}
proc equalsIgnoreCase(s1, s2: openArray[char]): bool {.inline, ...raises: [],
    tags: [], forbids: [].}
proc expandPath(path: string): string {....raises: [], tags: [], forbids: [].}
proc find(haystack: openArray[char]; needle: string): int {....raises: [],
    tags: [], forbids: [].}
proc find(haystack: openArray[char]; needle: string; start: int; last = -1): int {.
    ...raises: [], tags: [], forbids: [].}
proc find(s: openArray[char]; c: char): int {....raises: [], tags: [], forbids: [].}
proc find(s: openArray[char]; c: char; start: int; last = -1): int {....raises: [],
    tags: [], forbids: [].}
proc find(s: openArray[char]; cs: set[char]): int {....raises: [], tags: [],
    forbids: [].}
proc find(s: openArray[char]; cs: set[char]; start: int; last = -1): int {.
    ...raises: [], tags: [], forbids: [].}
proc getContentTypeAttr(contentType, attrname: string): string {....raises: [],
    tags: [], forbids: [].}
proc getEnvCString(name: string): cstring {....raises: [], tags: [], forbids: [].}
proc getEnvEmpty(name: string; fallback = ""): string {....raises: [], tags: [],
    forbids: [].}
proc getFileExt(path: string): string {....raises: [], tags: [], forbids: [].}
proc getIdentMap[T: enum](e: typedesc[T]): seq[IdentMapItem] {....raises: [].}
proc hexValue(c: char): int {....raises: [], tags: [], forbids: [].}
proc htmlEscape(s: openArray[char]; mode = emAll): string {....raises: [],
    tags: [], forbids: [].}
proc isControlChar(u: uint32): bool {....raises: [], tags: [], forbids: [].}
proc isInRange[U](a: openArray[(U, U)]; u: U): bool {....raises: [].}
proc join(ss: openArray[string]; sep: char): string {....raises: [], tags: [],
    forbids: [].}
proc kebabToCamelCase(s: string): string {....raises: [], tags: [], forbids: [].}
proc makeCRLF(s: openArray[char]): string {....raises: [], tags: [], forbids: [].}
proc matchNameProduction(s: openArray[char]): bool {....raises: [], tags: [],
    forbids: [].}
proc matchQNameProduction(s: openArray[char]): bool {....raises: [], tags: [],
    forbids: [].}
proc mimeQuote(value: string): string {....raises: [], tags: [], forbids: [].}
proc nextUTF8(s: openArray[char]; i: var int): uint32 {....raises: [], tags: [],
    forbids: [].}
proc onlyWhitespace(s: string): bool {....raises: [], tags: [], forbids: [].}
proc parseEnumNoCase[T: enum](s: openArray[char]): Opt[T] {....raises: [].}
proc parseEnumNoCase0(map: openArray[IdentMapItem]; s: openArray[char]): int {.
    ...raises: [], tags: [], forbids: [].}
proc parseInt32(s: openArray[char]): Opt[int32] {....raises: [], tags: [],
    forbids: [].}
proc parseInt64(s: openArray[char]): Opt[int64] {....raises: [], tags: [],
    forbids: [].}
proc parseIntP(s: openArray[char]): Opt[int] {....raises: [], tags: [], forbids: [].}
proc parseUInt8(s: openArray[char]; allowSign = false): Opt[uint8] {....raises: [],
    tags: [], forbids: [].}
proc parseUInt8NoLeadingZero(s: openArray[char]): Opt[uint8] {....raises: [],
    tags: [], forbids: [].}
proc parseUInt16(s: openArray[char]; allowSign = false): Opt[uint16] {.
    ...raises: [], tags: [], forbids: [].}
proc parseUInt32(s: openArray[char]; allowSign = false): Opt[uint32] {.
    ...raises: [], tags: [], forbids: [].}
proc parseUInt32Base(s: openArray[char]; allowSign = false; radix: uint32): Opt[
    uint32] {....raises: [], tags: [], forbids: [].}
proc parseUInt64(s: openArray[char]; allowSign = false): Opt[uint64] {.
    ...raises: [], tags: [], forbids: [].}
proc percentDecode(input: openArray[char]): string {....raises: [], tags: [],
    forbids: [].}
proc percentEncode(append: var string; c: char; set: set[char];
                   spaceAsPlus = false) {.inline, ...raises: [], tags: [],
    forbids: [].}
proc percentEncode(append: var string; s: openArray[char]; set: set[char];
                   spaceAsPlus = false) {....raises: [], tags: [], forbids: [].}
proc percentEncode(s: openArray[char]; set: set[char]; spaceAsPlus = false): string {.
    ...raises: [], tags: [], forbids: [].}
proc pointLen(s: openArray[char]): int {....raises: [], tags: [], forbids: [].}
proc pointLenAt(s: openArray[char]; i: int): int {....raises: [], tags: [],
    forbids: [].}
proc prevUTF8(s: openArray[char]; i: var int): uint32 {....raises: [], tags: [],
    forbids: [].}
proc pushHex(buf: var string; c: char) {....raises: [], tags: [], forbids: [].}
proc pushHex(buf: var string; u: uint8) {....raises: [], tags: [], forbids: [].}
proc repeat(c: char; n: int): string {....raises: [], tags: [], forbids: [].}
proc repeat(s: string; n: int): string {....raises: [], tags: [], forbids: [].}
proc replaceControls(s: openArray[char]): string {....raises: [], tags: [],
    forbids: [].}
proc rfind(s: openArray[char]; c: char): int {....raises: [], tags: [], forbids: [].}
proc rfind(s: openArray[char]; c: char; start: int; last = -1): int {.
    ...raises: [], tags: [], forbids: [].}
proc rfind(s: openArray[char]; cs: set[char]; start = 0; last = -1): int {.
    ...raises: [], tags: [], forbids: [].}
proc setContentTypeAttr(contentType: var string; attrname, value: string) {.
    ...raises: [], tags: [], forbids: [].}
proc setEnv(name, value: string): Opt[void] {....raises: [], tags: [], forbids: [].}
proc skipBlanks(buf: openArray[char]; at: int): int {....raises: [], tags: [],
    forbids: [].}
proc startsWith(s1, s2: openArray[char]): bool {....raises: [], tags: [],
    forbids: [].}
proc startsWith(s1, s2: openArray[char]; start: int): bool {....raises: [],
    tags: [], forbids: [].}
proc startsWithIgnoreCase(s1, s2: openArray[char]): bool {....raises: [], tags: [],
    forbids: [].}
proc strictParseEnum[T: enum](s: openArray[char]): Opt[T] {....raises: [].}
proc strip(s: openArray[char]; leading = true; trailing = true;
           chars = AsciiWhitespace): string {....raises: [], tags: [], forbids: [].}
proc stripAndCollapse(s: openArray[char]): string {....raises: [], tags: [],
    forbids: [].}
proc toHexLower(u: uint16): string {....raises: [], tags: [], forbids: [].}
proc toLowerAscii(c: char): char {.inline, ...raises: [], tags: [], forbids: [].}
proc toLowerAscii(s: openArray[char]): string {....raises: [], tags: [],
    forbids: [].}
proc toPoints(s: openArray[char]): seq[uint32] {....raises: [], tags: [],
    forbids: [].}
proc toUpperAscii(c: char): char {.inline, ...raises: [], tags: [], forbids: [].}
proc toUpperAscii(s: openArray[char]): string {....raises: [], tags: [],
    forbids: [].}
proc toUTF8(u: uint32): string {....raises: [], tags: [], forbids: [].}
proc toUTF8(us: openArray[uint32]): string {....raises: [], tags: [], forbids: [].}
proc unsetEnv(name: string) {....raises: [], tags: [], forbids: [].}
proc until(s: openArray[char]; cc: char; starti = 0): string {....raises: [],
    tags: [], forbids: [].}
proc until(s: openArray[char]; cc: set[char]; starti = 0): string {....raises: [],
    tags: [], forbids: [].}
proc untilLast(s: string; c: char): string {....raises: [], tags: [], forbids: [].}
proc untilLast(s: string; c: set[char]): string {....raises: [], tags: [],
    forbids: [].}
proc untilLower(s: openArray[char]; cc: char; starti = 0): string {....raises: [],
    tags: [], forbids: [].}
proc untilLower(s: openArray[char]; cc: set[char]; starti = 0): string {.
    ...raises: [], tags: [], forbids: [].}
proc utf16Len(s: openArray[char]): int {....raises: [], tags: [], forbids: [].}

Iterators

iterator mritems[T](a: var openArray[T]): var T {.inline, ...raises: [].}
iterator mypairs[T](a: openArray[T]): tuple[key: int, val: lent T] {.inline,
    ...raises: [].}
iterator points(s: openArray[char]): uint32 {.inline, ...raises: [], tags: [],
    forbids: [].}
iterator ritems[T](a: openArray[T]): lent T {.inline, ...raises: [].}
iterator split(s: openArray[char]; sep: char): string {....raises: [], tags: [],
    forbids: [].}
iterator split(s: openArray[char]; sep: set[char]): string {....raises: [],
    tags: [], forbids: [].}