qs_codec.utils package

Submodules

qs_codec.utils.decode_utils module

Decode utility methods used by the library.

class qs_codec.utils.decode_utils.DecodeUtils[source]

Bases: object

A collection of decode utility methods used by the library.

classmethod decode(string: str | None, charset: Charset | None = Charset.UTF8) str | None[source]

Decode a URL-encoded string.

classmethod unescape(string: str) str[source]

A Python representation the deprecated JavaScript unescape function.

https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/unescape

qs_codec.utils.encode_utils module

A collection of encode utility methods used by the library.

class qs_codec.utils.encode_utils.EncodeUtils[source]

Bases: object

A collection of encode utility methods used by the library.

HEX_TABLE: Tuple[str, ...] = ('%00', '%01', '%02', '%03', '%04', '%05', '%06', '%07', '%08', '%09', '%0A', '%0B', '%0C', '%0D', '%0E', '%0F', '%10', '%11', '%12', '%13', '%14', '%15', '%16', '%17', '%18', '%19', '%1A', '%1B', '%1C', '%1D', '%1E', '%1F', '%20', '%21', '%22', '%23', '%24', '%25', '%26', '%27', '%28', '%29', '%2A', '%2B', '%2C', '%2D', '%2E', '%2F', '%30', '%31', '%32', '%33', '%34', '%35', '%36', '%37', '%38', '%39', '%3A', '%3B', '%3C', '%3D', '%3E', '%3F', '%40', '%41', '%42', '%43', '%44', '%45', '%46', '%47', '%48', '%49', '%4A', '%4B', '%4C', '%4D', '%4E', '%4F', '%50', '%51', '%52', '%53', '%54', '%55', '%56', '%57', '%58', '%59', '%5A', '%5B', '%5C', '%5D', '%5E', '%5F', '%60', '%61', '%62', '%63', '%64', '%65', '%66', '%67', '%68', '%69', '%6A', '%6B', '%6C', '%6D', '%6E', '%6F', '%70', '%71', '%72', '%73', '%74', '%75', '%76', '%77', '%78', '%79', '%7A', '%7B', '%7C', '%7D', '%7E', '%7F', '%80', '%81', '%82', '%83', '%84', '%85', '%86', '%87', '%88', '%89', '%8A', '%8B', '%8C', '%8D', '%8E', '%8F', '%90', '%91', '%92', '%93', '%94', '%95', '%96', '%97', '%98', '%99', '%9A', '%9B', '%9C', '%9D', '%9E', '%9F', '%A0', '%A1', '%A2', '%A3', '%A4', '%A5', '%A6', '%A7', '%A8', '%A9', '%AA', '%AB', '%AC', '%AD', '%AE', '%AF', '%B0', '%B1', '%B2', '%B3', '%B4', '%B5', '%B6', '%B7', '%B8', '%B9', '%BA', '%BB', '%BC', '%BD', '%BE', '%BF', '%C0', '%C1', '%C2', '%C3', '%C4', '%C5', '%C6', '%C7', '%C8', '%C9', '%CA', '%CB', '%CC', '%CD', '%CE', '%CF', '%D0', '%D1', '%D2', '%D3', '%D4', '%D5', '%D6', '%D7', '%D8', '%D9', '%DA', '%DB', '%DC', '%DD', '%DE', '%DF', '%E0', '%E1', '%E2', '%E3', '%E4', '%E5', '%E6', '%E7', '%E8', '%E9', '%EA', '%EB', '%EC', '%ED', '%EE', '%EF', '%F0', '%F1', '%F2', '%F3', '%F4', '%F5', '%F6', '%F7', '%F8', '%F9', '%FA', '%FB', '%FC', '%FD', '%FE', '%FF')

Hex table of all 256 characters

classmethod encode(value: Any, charset: Charset | None = Charset.UTF8, format: Format | None = Format.RFC3986) str[source]

Encode a value to a URL-encoded string.

classmethod escape(string: str, format: Format | None = Format.RFC3986) str[source]

A Python representation the deprecated JavaScript escape function.

https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/escape

static serialize_date(dt: datetime) str[source]

Serialize a datetime object to an ISO 8601 string.

qs_codec.utils.str_utils module

Utility functions for working with strings.

qs_codec.utils.str_utils.code_unit_at(string: str, index: int) int[source]

Returns the 16-bit UTF-16 code unit at the given index.

This function first encodes the string in UTF-16 little endian format, then calculates the code unit at the given index. The code unit is calculated by taking the byte at the index and adding it to 256 times the next byte. This is because UTF-16 represents each code unit with two bytes, and in little endian format, the least significant byte comes first.

Adapted from https://api.dart.dev/stable/3.3.3/dart-core/String/codeUnitAt.html

qs_codec.utils.utils module

A collection of utility methods used by the library.

class qs_codec.utils.utils.Utils[source]

Bases: object

A collection of utility methods used by the library.

static apply(val: list | tuple | Any, fn: Callable) List | Any[source]

Apply a function to a value or a list of values.

static combine(a: list | tuple | Any, b: list | tuple | Any) List[source]

Combine two lists or values.

static compact(value: Dict[str, Any]) Dict[str, Any][source]

Remove all Undefined values from a dictionary.

static is_non_nullish_primitive(val: Any, skip_nulls: bool = False) bool[source]

Check if a value is a non-nullish primitive.

static merge(target: ~typing.Mapping[str, ~typing.Any] | ~typing.List[~typing.Any] | ~typing.Tuple | None, source: ~typing.Mapping[str, ~typing.Any] | ~typing.List[~typing.Any] | ~typing.Tuple | ~typing.Any | None, options: ~qs_codec.models.decode_options.DecodeOptions = DecodeOptions(allow_dots=False, decode_dot_in_keys=False, allow_empty_lists=False, list_limit=20, charset=<Charset.UTF8: encoding='utf-8'>, charset_sentinel=False, comma=False, delimiter='&', depth=5, parameter_limit=1000, duplicates=<Duplicates.COMBINE: 1>, ignore_query_prefix=False, interpret_numeric_entities=False, parse_lists=True, strict_depth=False, strict_null_handling=False, decoder=<bound method DecodeUtils.decode of <class 'qs_codec.utils.decode_utils.DecodeUtils'>>)) Dict[str, Any] | List | Tuple | Any[source]

Merge two objects together.

Module contents