{
  "classes": [
    {
      "constants": [],
      "types": [],
      "name": "@eryx/encoding/url",
      "tags": [],
      "functions": [
        {
          "source": {
            "path": "",
            "line": 28
          },
          "is_method": false,
          "signature": "url.encode(\n    str: string,  -- The string to encode.\n    spaceIsPlus: boolean  -- Whether to encode spaces as `+`.\n) → (\n    string  -- The percent-encoded string. \n)",
          "owner": "url",
          "desc": "Percent-encodes a string.\n\nWhen `spaceIsPlus` is `true`, spaces are encoded as `+` (common in\n`application/x-www-form-urlencoded` form data). Otherwise spaces are\nencoded as `%20`.\n",
          "tags": [],
          "name": "encode",
          "return_str": "string",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "string",
              "desc": "The percent-encoded string. "
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "str",
              "desc": "The string to encode."
            },
            {
              "lua_type": "boolean",
              "name": "spaceIsPlus",
              "desc": "Whether to encode spaces as `+`."
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 50
          },
          "is_method": false,
          "signature": "url.decode(\n    str: string,  -- The percent-encoded string.\n    plusIsSpace: boolean  -- Whether to decode `+` as a space.\n) → (\n    string  -- The decoded string. \n)",
          "owner": "url",
          "desc": "Decodes a percent-encoded string.\n\nWhen `plusIsSpace` is `true`, `+` characters are decoded as spaces\n(matching `application/x-www-form-urlencoded` form data).\n",
          "tags": [],
          "name": "decode",
          "return_str": "string",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "string",
              "desc": "The decoded string. "
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "str",
              "desc": "The percent-encoded string."
            },
            {
              "lua_type": "boolean",
              "name": "plusIsSpace",
              "desc": "Whether to decode `+` as a space."
            }
          ]
        }
      ],
      "properties": [],
      "source": {
        "path": "",
        "line": 0
      },
      "desc": "URL percent-encoding utilities.\n\nEncodes and decodes strings using percent-encoding as defined by\nRFC 3986. Unreserved characters (`A–Z`, `a–z`, `0–9`, `-`, `_`, `.`, `~`)\nare left untouched; all others are replaced with `%XX` hex sequences.\n\n```luau\nlocal url = require(\"@eryx/encoding/url\")\nprint(url.encode(\"hello world\", true))  -- \"hello+world\"\nprint(url.encode(\"hello world\", false)) -- \"hello%20world\"\n```\n"
    }
  ]
}