Skip to content

Tokenization

Less oft-needed functions to manipulate Tokens.

Static Functions

Name Description
is_resolvable Return whether the given object is an IResolvable object.
resolve Resolves an object by evaluating all tokens and removing any undefined or empty objects or arrays.
reverse_list Un-encode a Tokenized value from a list.
reverse_number Un-encode a Tokenized value from a number.
reverse_string Un-encode a string potentially containing encoded tokens.
stringify_number Stringify a number directly or lazily if it's a Token.

is_resolvable

import ros_cdk_core
ros_cdk_core.Tokenization.is_resolvable(
  obj: typing.Any
)

Return whether the given object is an IResolvable object.

This is different from Token.isUnresolved() which will also check for encoded Tokens, whereas this method will only do a type check on the given object.

objRequired

  • Type: typing.Any

resolve

import ros_cdk_core
ros_cdk_core.Tokenization.resolve(
  obj: typing.Any,
  resolver: ITokenResolver,
  scope: IConstruct,
  preparing: bool = None
)

Resolves an object by evaluating all tokens and removing any undefined or empty objects or arrays.

Values can only be primitives, arrays or tokens. Other objects (i.e. with methods) will be rejected.

objRequired

  • Type: typing.Any

The object to resolve.


resolverRequired

The resolver to apply to any resolvable tokens found.


scopeRequired

The scope from which resolution is performed.


preparingOptional

  • Type: bool
  • Default: false

Whether the resolution is being executed during the prepare phase or not.


reverse_list

import ros_cdk_core
ros_cdk_core.Tokenization.reverse_list(
  l: typing.List[str]
)

Un-encode a Tokenized value from a list.

lRequired

  • Type: typing.List[str]

reverse_number

import ros_cdk_core
ros_cdk_core.Tokenization.reverse_number(
  n: typing.Union[int, float]
)

Un-encode a Tokenized value from a number.

nRequired

  • Type: typing.Union[int, float]

reverse_string

import ros_cdk_core
ros_cdk_core.Tokenization.reverse_string(
  s: str
)

Un-encode a string potentially containing encoded tokens.

sRequired

  • Type: str

stringify_number

import ros_cdk_core
ros_cdk_core.Tokenization.stringify_number(
  x: typing.Union[int, float]
)

Stringify a number directly or lazily if it's a Token.

If it is an object (i.e., { Ref: 'SomeLogicalId' }), return it as-is.

xRequired

  • Type: typing.Union[int, float]