UNPKG

@vaadin/hilla-react-signals

Version:

Signals for Hilla React

47 lines (46 loc) 2.27 kB
export type StateEvent = Readonly<{ id: string; type: string; value: unknown; accepted: boolean; parentSignalId?: string; }>; type CreateStateEventType<V, T extends string, C extends Record<string, unknown> = Record<never, never>> = Readonly<{ type: T; value: V; }> & Readonly<C> & StateEvent; export type SnapshotStateEvent<T> = CreateStateEventType<T, 'snapshot'>; export type SetStateEvent<T> = CreateStateEventType<T, 'set'>; export declare function createSetStateEvent<T>(value: T, signalId?: string, parentSignalId?: string): SetStateEvent<T>; export type ReplaceStateEvent<T> = CreateStateEventType<T, 'replace', { expected: T; }>; export declare function createReplaceStateEvent<T>(expected: T, value: T, signalId?: string, parentSignalId?: string): ReplaceStateEvent<T>; export type IncrementStateEvent = CreateStateEventType<number, 'increment'>; export declare function createIncrementStateEvent(delta: number): IncrementStateEvent; export type ListEntry<T> = Readonly<{ id: string; prev?: string; next?: string; value: T; }>; export type ListSnapshotStateEvent<T> = CreateStateEventType<never, 'snapshot', { entries: Array<ListEntry<T>>; }>; export type InsertLastStateEvent<T> = CreateStateEventType<T, 'insert', { position: 'last'; entryId?: string; }>; export declare function createInsertLastStateEvent<T>(value: T): InsertLastStateEvent<T>; export type RemoveStateEvent = CreateStateEventType<never, 'remove', { entryId: string; }>; export declare function createRemoveStateEvent(entryId: string): RemoveStateEvent; export declare function isSnapshotStateEvent<T>(event: unknown): event is SnapshotStateEvent<T>; export declare function isSetStateEvent<T>(event: unknown): event is SetStateEvent<T>; export declare function isReplaceStateEvent<T>(event: unknown): event is ReplaceStateEvent<T>; export declare function isIncrementStateEvent(event: unknown): event is IncrementStateEvent; export declare function isListSnapshotStateEvent<T>(event: unknown): event is ListSnapshotStateEvent<T>; export declare function isInsertLastStateEvent<T>(event: unknown): event is InsertLastStateEvent<T>; export declare function isRemoveStateEvent(event: unknown): event is RemoveStateEvent; export {};