UNPKG

timered-counter

Version:

Make the value change more vivid and natural

67 lines (66 loc) 3.43 kB
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 registerAdapter(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; export declare function registerAdapter(...args: Parameters<(typeof TimeredCounterAdapter)['registerAdapter']>): void;