pip_services3_expressions.calculator.functions package

Submodules

Module contents

class pip_services3_expressions.calculator.functions.DefaultFunctionCollection

Bases: pip_services3_expressions.calculator.functions.FunctionCollection.FunctionCollection

Implements a list filled with standard functions.

class pip_services3_expressions.calculator.functions.DelegatedFunction(name: str, calculator: Callable[[List[pip_services3_expressions.variants.Variant.Variant], pip_services3_expressions.variants.IVariantOperations.IVariantOperations], pip_services3_expressions.variants.Variant.Variant])

Bases: pip_services3_expressions.calculator.functions.IFunction.IFunction

calculate(params: List[pip_services3_expressions.variants.Variant.Variant], variant_operations: pip_services3_expressions.variants.IVariantOperations.IVariantOperations)pip_services3_expressions.variants.Variant.Variant

The function calculation method.

Parameters
  • params – an array with function parameters.

  • variant_operations – Variants operations manager.

Returns

return function result.

property name

The function name.

class pip_services3_expressions.calculator.functions.FunctionCollection

Bases: pip_services3_expressions.calculator.functions.IFunctionCollection.IFunctionCollection

Implements a functions list.

add(func: pip_services3_expressions.calculator.functions.IFunction.IFunction)

Adds a new function to the collection.

Parameters

func – a function to be added.

clear()

Clears the collection.

find_by_name(name: str)pip_services3_expressions.calculator.functions.IFunction.IFunction

Finds function in the list by it’s name.

Parameters

name – The function name to be found.

Returns

A function or None if function was not found.

find_index_by_name(name: str)int

Finds function index in the list by it’s name.

Parameters

name – The function name to be found.

Returns

Function index in the list or -1 if function was not found.

get(index: int)pip_services3_expressions.calculator.functions.IFunction.IFunction

Get a function by its index.

Parameters

index – a function index.

Returns

a retrieved function.

get_all() → List[pip_services3_expressions.calculator.functions.IFunction.IFunction]

Get all functions stores in the collection

Returns

a list with functions.

property length

Gets a number of functions stored in the collection.

Returns

a number of stored functions.

remove(index: int)

Removes a function by its index.

Parameters

index – a index of the function to be removed.

remove_by_name(name: str)

Removes function by it’s name.

Parameters

name – The function name to be removed.

class pip_services3_expressions.calculator.functions.IFunction

Bases: abc.ABC

Defines an interface for expression function.

calculate(params: List[pip_services3_expressions.variants.Variant.Variant], variant_operations: pip_services3_expressions.variants.IVariantOperations.IVariantOperations)pip_services3_expressions.variants.Variant.Variant

The function calculation method.

Parameters
  • params – The stack to get function parameters and place

  • variant_operations – Variants operations manager.

Returns

the function result.

name: str
class pip_services3_expressions.calculator.functions.IFunctionCollection

Bases: object

Defines a functions list.

add(func: pip_services3_expressions.calculator.functions.IFunction.IFunction)

Adds a new function to the collection.

Parameters

func – a function to be added.

clear()

Clears the collection.

find_by_name(name: str)pip_services3_expressions.calculator.functions.IFunction.IFunction

Finds function in the list by it’s name.

Parameters

name – The function name to be found.

Returns

A function or None if function was not found.

find_index_by_name(name: str)int

Finds function index in the list by it’s name.

Parameters

name – The function name to be found.

Returns

Function index in the list or -1 if function was not found.

get(index: int)pip_services3_expressions.calculator.functions.IFunction.IFunction

Get a function by its index.

Parameters

index – a function index.

Returns

a retrieved function

get_all()pip_services3_expressions.calculator.functions.IFunction.IFunction

Get all functions stores in the collection

Returns

a list with functions.

length: int
remove(index: int)

Removes a function by its index.

Parameters

index – a index of the function to be removed.

remove_by_name(name: str)

Removes function by it’s name.

Parameters

name – The function name to be removed.