@ribajs/core
Version:
Core module of Riba.js
42 lines (41 loc) • 1.65 kB
TypeScript
import { Observer } from "./observer.js";
import type { FormatterObservers, eventHandlerFunction, ObserverSyncCallback, Bindable } from "./types/index.js";
import type { View } from "./view.js";
export declare abstract class Binder<T = any, E = HTMLUnknownElement> implements Bindable<E> {
static key: string;
static block: boolean;
name: string;
publishes: boolean;
priority: number;
abstract routine(element: E, value: T): void;
bind?(element: E): void;
unbind?(element: E): void;
update?(model: any): void;
getValue?(element: E): void;
value?: any;
observer?: Observer;
view: View;
el: E;
type: string | null;
formatters: string[] | null;
formatterObservers: FormatterObservers;
keypath?: string;
args: Array<string | number>;
model?: any;
marker?: Comment;
constructor(view: View, el: E, type: string | null, name: string, keypath: string | undefined, formatters: string[] | null, identifier: string | null);
observe(model: any, keypath: string, callback: ObserverSyncCallback): Observer;
parseTarget(): void;
getIterationAlias(modelName: string): string;
parseFormatterArguments(args: string[], formatterIndex: number): string[];
formattedValue(value: any, startIndex?: number): any;
eventHandler(fn: eventHandlerFunction, el: HTMLElement): (ev: Event) => any;
set(value: any): any;
sync(): void;
publish(): void;
_bind(): void;
_unbind(): void;
_update(models?: any): void;
_getValue(el: E): string | boolean | void | string[];
protected getStarArguments(identifier: string, type: string): string[];
}