jsfast
Version:
Fastjs(jsfast) is a useful, lightweight JavaScript library for any types of project.
21 lines (20 loc) • 1.01 kB
TypeScript
import type { EachCallback, ElementList } from "./def";
import type { FastjsDom, FastjsDomAPI, FastjsDomAtom } from "./dom-types";
import { FastjsModuleBase } from "../base/def";
export interface FastjsDomListAtom {
construct: "FastjsDomList";
_list: Array<FastjsDom>;
length: number;
}
export interface FastjsDomListAPI {
add(el: FastjsDom): FastjsDomList;
delete(key: number, deleteDom?: boolean): FastjsDomList;
each(callback: EachCallback<ElementList>): FastjsDomList;
el(key?: number): ElementList;
getElement(key?: number): ElementList;
getDom(key?: number): FastjsDom;
next<T extends FastjsDom<any> | FastjsDomList | null = FastjsDom | FastjsDomList | null>(selector: string): T;
toArray(): FastjsDomList;
toElArray(): Array<ElementList>;
}
export type FastjsDomList = FastjsDomListAtom & FastjsDomListAPI & Omit<FastjsDomAtom<ElementList>, "construct"> & Omit<FastjsDomAPI<ElementList>, keyof Array<FastjsDom>> & FastjsModuleBase & Array<FastjsDom>;