UNPKG

@lithiumjs/angular

Version:

Reactive components made easy. Lithium provides utilities that enable seamless reactive state and event interactions for Angular components.

18 lines (17 loc) 1.09 kB
import type { StringKey } from "../lang-utils"; export type AsyncSourceKey<T, K extends StringKey<T> = StringKey<T>> = `${K}$`; export type ValidAsyncSourceKey<T, K extends StringKey<T> = StringKey<T>> = AsyncSourceKey<T, K> & StringKey<T>; export declare namespace ComponentStateMetadata { interface ManagedProperty<T, K extends StringKey<T> = StringKey<T>> { key: K; publicKey?: StringKey<T>; asyncSource?: ValidAsyncSourceKey<T>; } type ManagedPropertyList<T> = ManagedProperty<T>[]; const MANAGED_PROPERTY_LIST_KEY = "MANAGED_PROPERTY_LIST_KEY"; function GetOwnManagedPropertyList<T>(target: Object): ManagedPropertyList<T>; function GetInheritedManagedPropertyList<T>(target: Object): ManagedPropertyList<T>; function SetManagedPropertyList<T>(target: Object, list: ManagedPropertyList<T>): void; function AddManagedProperty<T>(target: Object, property: ManagedProperty<T>): void; } export declare function asyncStateKey<ComponentT, K extends StringKey<ComponentT> = StringKey<ComponentT>>(key: K): AsyncSourceKey<ComponentT, K>;