hypi_tink_api library

Classes

ActionEnv<A extends TinkApplicationState<TinkWidgetInputBinding<ScreenModel, TinkWidgetHandler>, TinkWidgetOutputBinding<EventModel, TinkWidgetHandler>, TinkWorkflowBinding<EventModel, WorkflowModel, TinkWidgetHandler>, TinkVariable>, S extends ScreenModel>
Actor
Represents someone...or something performing operations in the app
CASMErrPair
ChildWidget
Some widgets have a single child and hence need only the property name to that child whilst others have a list of children and need a name to that list hence either acts as a unifying type to achieve both
Either<L, R>
EntityEventSourceState
EntityField
EventModel
FNAttr
HypiMeta
ListEntityField<T extends TinkEntity>
MapEntityField<T extends TinkEntity>
PropertyModel
TargetDevice
TDoubleField
TinkActionFunction
Added to functions that should be used as the handler for an event. If two handlers are found in the same class, they are invoked on the same instance of the class IFF the actions are triggered on the same widget or a child widget that has had the instance passed to it
TinkBoolVariable
TinkCASMStatus
TinkDoubleVariable
TinkEditorError
TinkEditorHandler<T extends TinkWidgetHandler>
Added to classes that are sub-types of TinkWidgetHandler to reigister them for processing behaviour when specific widgets are interacted with in the editor.
TinkIntVariable
TinkJsonVariable<T>
TinkKV<V>
TinkNumVariable
TinkParam
TinkRebuildScreen
Many widgets are stateless but Hypi provides the ability to update their attributes When that happens, we must rebuild the screen for the changed attributes to show up If your widget handler is stateful just call setState locally, no need for a global rebuild unless it affects other parts of the UI It is in effect the same as setState in a stateful widget but does not incur any overhead unless the widget's attribute actually changes
TinkStateEvent<S>
TinkStateListener<S>
TinkTextVariable
TinkVariableRef
TinkWidgetRuntimeContext
TSimpleField
VariableChangeEvent
When a variable changes, emit this using the ref and the new value. Subscribers will be notified.
VariableRef
WidgetDefModel<P extends PropertyModel, E extends EventModel>

Enums

TinkRenderMode
TinkStateEventType
TinkVariableType
VariableScope
The location where the variable is held. This determines where it can be accessed and in the case of VariableScope.device for how long

Mixins

ActionChain<A extends TinkApplicationState<TinkWidgetInputBinding<ScreenModel, TinkWidgetHandler>, TinkWidgetOutputBinding<EventModel, TinkWidgetHandler>, TinkWorkflowBinding<EventModel, WorkflowModel, TinkWidgetHandler>, TinkVariable>, S extends ScreenModel>
ActionState
Binding
Marker interface to identify all bindings
CASMEventLike<T>
CASMLike
Displayable
EntityEventSource
Mappable
ScreenModel
TinkActionLike<A extends TinkApplicationState<TinkWidgetInputBinding<ScreenModel, TinkWidgetHandler>, TinkWidgetOutputBinding<EventModel, TinkWidgetHandler>, TinkWorkflowBinding<EventModel, WorkflowModel, TinkWidgetHandler>, TinkVariable>, W extends WorkflowModel, S extends ScreenModel>
TinkApplicationState<I extends TinkWidgetInputBinding<ScreenModel, TinkWidgetHandler>, O extends TinkWidgetOutputBinding<EventModel, TinkWidgetHandler>, W extends TinkWorkflowBinding<EventModel, WorkflowModel, TinkWidgetHandler>, V extends TinkVariable>
TinkAttributeEvent
TinkEditorEvent<V>
TinkEntity
Any object that needs to be persisted and reloaded into the editor later
TinkEntityField
TinkLivenessHandler
TinkRuntimeEvent<V>
TinkVariable
A variable is a named location where information can be stored. The information stored can be used to update parts of the UI or sent in API requests
TinkVariableData<V>
Any data that can be emitted by the application can be stored as variable. Application variable can be bound in the editor at development time and at run time the values are fetched and used as inputs to workflows Note that some TinkEditorHandlers like those for form elements have default workflows which bind their values to some variable
TinkWidgetAttribute
An attribute is a value that can be bound to a TinkVariableData
TinkWidgetHandler
TinkWidgetInputBinding<S extends ScreenModel, W extends TinkWidgetHandler>
Binds the value of an attribute to some variable
TinkWidgetOutputBinding<E extends EventModel, W extends TinkWidgetHandler>
Sets some variable when the given attribute is modified as a result of the given event
TinkWorkflowBinding<E extends EventModel, W extends WorkflowModel, WM extends TinkWidgetHandler>
TreeNodeHandler
Validatable
Any type which can be in an invalid state - this provides the interface to knowing if it is valid or not
VariableSource
The source of a variable is anything that can produce it. A widget for example can produce the value of one of its attributes which is assigned to a variable A workflow action as well can output values that is bound as the source of a variable
VariableTarget
A variable target is anything that wants to be told when that variable has changed. An attribute of a widget for example can be bound to a target This is for "push" based targets. Note that workflow actions use a "pull" based approach where they request the latest value of a variable at any point during their evaluation
WorkflowModel

Functions

attrName(TinkWidgetHandler handler, String attrName) String
entityFrame(List<MapEntry<String, dynamic>> fields, HypiMeta hypi, String entityType, String entitySubType, String entityGroupId, String appInstanceId, {Map<String, dynamic>? target}) Map<String, dynamic>
entityRef(TinkEntity e) String
entityRefFromId(String id) String
entitySaveEventName(String id) String
entityUpdateEventName(String id) String
eventName(TinkWidgetHandler handler, EventModel event) String
fieldsAsMap(Map<String, dynamic> obj) Map<String, Map<String, dynamic>>
fieldsFromDB(dynamic resolved) Map<String, dynamic>
hypiMeta(Map<String, dynamic> e) HypiMeta
isTinkRef(String str) bool
tinkRefToId(String ref) String

Typedefs

BoolCallback = bool Function()
CASMEventHandler<S> = void Function(TinkStateEvent<S> prev, TinkStateEvent<S> current)
CASMValueHandler<S> = TinkStateEvent<S> Function(TinkStateEvent<S> prev, TinkStateEvent<S> current)
CASMValueProvider<S> = List<TinkStateEvent<S>> Function()
ChildWidgetValue = Either<TinkWidgetHandler, List<TinkWidgetHandler>>
TinkEntitySet = Map<String, Map<String, dynamic>>
TinkFieldReader = Future<T?> Function<T extends TinkEntity>(T creator(), dynamic)
TinkFieldWriter = dynamic Function(TinkEntity entity, TinkEntitySet entities)
TinkScreenId = String
VariableSourceListener = void Function(dynamic value)
A function that is called when a source produces a value that should be pushed to the variables that are bound to it