UNPKG

1.23 kBTypeScriptView Raw
1/**
2 * Created by user on 2018/4/19/019.
3 */
4import { IWord } from '../segment/types';
5import { IDictRow } from 'segment-dict/lib/loader/segment';
6export declare type IOptions = {
7 autoCjk?: boolean;
8};
9export interface IDICT<T = any> {
10 [key: string]: T;
11}
12export interface IDICT2<T = any> {
13 [key: number]: IDICT<T>;
14}
15export interface ITableDictExistsTable<T> {
16 TABLE?: IDICT<T>;
17 TABLE2?: any | IDICT2<T>;
18}
19export declare abstract class AbstractTableDictCore<T> {
20 static type: string;
21 type: string;
22 TABLE: IDICT<T>;
23 TABLE2: any | IDICT2<T>;
24 options: IOptions;
25 constructor(type: string, options?: IOptions, existsTable?: ITableDictExistsTable<T>, ...argv: any[]);
26 protected _exists<U extends IWord | IDictRow | string>(data: U, ...argv: any[]): any;
27 exists<U extends IWord | IDictRow | string>(data: U, ...argv: any[]): T;
28 abstract add(data: any, ...argv: any[]): this;
29 protected abstract _add(data: any, ...argv: any[]): any;
30 remove?(data: any, ...argv: any[]): this;
31 protected _remove?(data: any, ...argv: any[]): any;
32 json?(...argv: any[]): IDICT<T>;
33 stringify?(...argv: any[]): string;
34 size(): number;
35}
36export default AbstractTableDictCore;