timered-counter
Version:
Make the value change more vivid and natural
66 lines (65 loc) • 3.31 kB
TypeScript
import { NumberAdapter } from './number-adapter/index.js';
import { StringAdapter } from './string-adapter/index.js';
export declare class TimeredCounterAdapter {
static AVAILABLE_NUMBER_ADAPTERS: Map<string[], () => NumberAdapter>;
static AVAILABLE_STRING_ADAPTERS: Map<string[], () => StringAdapter>;
/**
* 数字适配器, 有以下两种:
* 1. BuildInNumberAdapter(默认): 使用内置 number 进行计算.
* 2. DecimalJsAdapter: 使用 Decimal.js 进行计算.
*
* 详细信息请查看[字符长度限制](/guide/optional-dependencies#字符长度限制)章节.
*
* @default BuildInNumberAdapter
*/
static NUMBER_ADAPTER: NumberAdapter;
/**
* 字符串适配器, 有以下两种:
* 1. BuildInStringAdapter(默认): 使用内置 string 进行字符串处理.
* 2. BuildInIntlSegmenterAdapter: 使用 Intl.Segmenter 进行字符串处理. 能够支持 emoji, 字符集.
* 3. GraphemeSplitterAdapter: 使用 grapheme-splitter 进行字符串处理. 能够支持 emoji, 字符集.
*
* 详细信息请查看[支持 emoji 分词](/guide/optional-dependencies#支持-emoji-分词)章节.
*
* @default BuildInStringAdapter
*/
static STRING_ADAPTER: StringAdapter;
/**
* 将 value 及其相关的属性, 在 attribute 和 property 上的互相转换.
*
* @see https://lit.dev/docs/components/properties/#attributes
* @protected
*/
static VALUE_CONVERTER: {
fromAttribute(value: string | null): string | null;
toAttribute(value: unknown): string | null | undefined;
};
/**
* 设置要使用的数字适配器. 仅对设置完之后的 TimeredCounter 实例生效.
*
* 接受的关键字除了内置的 `number` 以外, 还可以通过 {@link registerNumberAdapter} 注册的 `keyword`.
*
* @param adapterOrType
*/
static setNumberAdapter(adapterOrType: NumberAdapter | 'number' | string): void;
/**
* 与 {@link setNumberAdapter} 类似, 用于设置字符串适配器.
*/
static setStringAdapter(adapterOrType: StringAdapter | 'string' | 'intl-segmenter' | string): void;
static registerNumberAdapter(keyword: string[], adapter: () => NumberAdapter): void;
static registerStringAdapter(keyword: string[], adapter: () => StringAdapter): void;
/**
* 可以直接使用 adapter 文件的导出进行注册.
*
* adapter 文件需要导出一个名为 register 的函数, 该函数接受一个 TimeredCounterAdapter 类型的参数.
*
* 具体示例请查看 {@link GraphemeSplitterAdapter} or {@link DecimalJsAdapter}.
*/
static registryAdapter(adapter: {
register: (counterAdapter: typeof TimeredCounterAdapter) => void;
}): void;
}
export declare function setNumberAdapter(...args: Parameters<(typeof TimeredCounterAdapter)['setNumberAdapter']>): void;
export declare function setStringAdapter(...args: Parameters<(typeof TimeredCounterAdapter)['setStringAdapter']>): void;
export declare function registerNumberAdapter(...args: Parameters<(typeof TimeredCounterAdapter)['registerNumberAdapter']>): void;
export declare function registerStringAdapter(...args: Parameters<(typeof TimeredCounterAdapter)['registerStringAdapter']>): void;