utils Module

Classes

ABCBuildDictMeta
BuildDictMeta

BuildDictMeta will apply to every binding. It will apply add_to_dict decorator to <xref:azure.functions.decorators.utils.BuildDictMeta.__init__> of every binding class to collect list of params to include in building json dictionary which corresponds to function.json in legacy app. It will also apply skip_none to <xref:azure.functions.decorators.utils.BuildDictMeta.get_dict_repr> to enable json dictionary generated for every binding has non-empty value fields. It is needed for enabling binding param optionality.

StringifyEnumJsonEncoder

Constructor for JSONEncoder, with sensible defaults.

If skipkeys is false, then it is a TypeError to attempt encoding of keys that are not str, int, float or None. If skipkeys is True, such items are simply skipped.

If ensure_ascii is true, the output is guaranteed to be str objects with all incoming non-ASCII characters escaped. If ensure_ascii is false, the output can contain non-ASCII characters.

If check_circular is true, then lists, dicts, and custom encoded objects will be checked for circular references during encoding to prevent an infinite recursion (which would cause an RecursionError). Otherwise, no such check takes place.

If allow_nan is true, then NaN, Infinity, and -Infinity will be encoded as such. This behavior is not JSON specification compliant, but is consistent with most JavaScript based encoders and decoders. Otherwise, it will be a ValueError to encode such floats.

If sort_keys is true, then the output of dictionaries will be sorted by key; this is useful for regression tests to ensure that JSON serializations can be compared on a day-to-day basis.

If indent is a non-negative integer, then JSON array elements and object members will be pretty-printed with that indent level. An indent level of 0 will only insert newlines. None is the most compact representation.

If specified, separators should be an (item_separator, key_separator) tuple. The default is (', ', ': ') if indent is None and (',', ': ') otherwise. To get the most compact JSON representation, you should specify (',', ':') to eliminate whitespace.

If specified, default is a function that gets called for objects that can't otherwise be serialized. It should return a JSON encodable version of the object or raise a TypeError.

Enums

StringifyEnum

This class output name of enum object when printed as string.

Functions

is_snake_case

Checks if a string is formatted as "snake case". A string is considered snake case when:

  • it's composed only by lowercase/uppercase letters and digits
  • it contains at least one underscore
  • it does not start with a number Examples:

is_snake_case('foo_bar_baz') # returns true is_snake_case('foo') # returns false :param input_string: String to test. :return: True for a snake case string, false otherwise.

is_snake_case(input_string: str) -> bool

Parameters

Name Description
input_string
Required

is_word

Checks if a string is one word. A string is considered one word when:

  • it's composed only by lowercase/uppercase letters and digits
  • it does not start with a number Examples:

is_word('1foo') # returns false is_word('>>foo_<<') # returns false is_word('foo') # returns true :param input_string: String to test. :return: True for one word string, false otherwise.

is_word(input_string: str) -> bool

Parameters

Name Description
input_string
Required

parse_iterable_param_to_enums

parse_iterable_param_to_enums(param_values: Iterable[str] | Iterable[T] | None, class_name: Type[T]) -> Iterable[T] | None

Parameters

Name Description
param_values
Required
class_name
Required

parse_singular_param_to_enum

parse_singular_param_to_enum(param: T | str | None, class_name: Type[T]) -> T | None

Parameters

Name Description
param
Required
class_name
Required

to_camel_case

to_camel_case(snake_case_str: str)

Parameters

Name Description
snake_case_str
Required