configzen icon indicating copy to clipboard operation
configzen copied to clipboard

LinkedRoute

Open johnslavik opened this issue 2 years ago • 0 comments

Use case

A config route that supports type-safety and runtime validation.

If we have

class ConfItem(BaseConfiguration):
    pair: tuple[int, int]


class Conf(BaseConfiguration):
    item: ConfItem

then instead of writing

Conf.at("item.pair[0]")

write

Conf.at(Conf.item.pair[0])

where

Conf.item.pair[0]

is in fact

LinkedRoute(Conf, Route([GetAttr("item"), GetAttr("pair"), GetItem(0)]))

at runtime.

Example usage

No response

Additional context

No response

johnslavik avatar Dec 16 '23 00:12 johnslavik