Skip to main content

Interfaces

Library Interfaces.

ComponentStateless

ComponentStateless.ts
export interface ComponentStateless<TProps = any> {
id: string
host: Element
parent: ComponentStateful | undefined
props: TProps
slick: boolean
setSlick(cb: () => boolean): this
setProps(cb: () => TProps): this
setParent(parent: ComponentStateful | undefined): this
mount(): void
destroy(): void
onMounted(): void
onDestroy(): void
render(): string
}

ComponentStateful

ComponentStateful.ts
export interface ComponentStateful<TProps = any, TState = any> {
id: string
host: Element
parent: ComponentStateful | undefined
props: TProps
stateSubject: BehaviorSubject<TState>
state: Observable<TState>
slick: boolean
children(): ChildrenIterator
setSlick(cb: () => boolean): this
setProps(cb: () => TProps): this
setParent(parent: ComponentStateful | undefined): this
mount(): void
destroy(): void
onMounted(): void
onUpdated(): void
onDestroy(): void
render(): string
}

Children

Children.ts
export type Children = ComponentStateless | ComponentStateful

ChildrenIterator

ChildrenIterator.ts
export interface ChildrenIterator {
forEach: (cb: (c: Children) => void) => void
}

IdGenerator

IdGenerator.ts
export interface IdGenerator {
generate(): string
}

DomFinder

DomFinder.ts
export interface DomFinder {
attr: string
find(node?: Element | null, id?: string | null): Element | null
}

RootRender

RootRender.ts
export interface RootRender {
render(rootElement: Element, rootComponent: () => ComponentStateful): void
}