类型定义
relationship-ts 提供完整的 TypeScript 类型定义。
导入类型
ts
import type {
RelationshipOptions,
Sex,
OutputType,
Chain,
TitleData,
} from 'relationship-ts';类型列表
Sex
性别类型:-1=未知,0=女性,1=男性
ts
type Sex = -1 | 0 | 1;OutputType
输出类型:default=计算称谓,chain=计算关系链,pair=计算合称
ts
type OutputType = 'default' | 'chain' | 'pair';RelationshipOptions
关系计算选项接口
ts
interface RelationshipOptions {
/** 目标对象的称谓汉字表达 */
text: string;
/** 相对对象的称谓汉字表达,空表示自己 */
target?: string;
/** 本人性别:0表示女性, 1表示男性, -1表示未知 */
sex?: Sex;
/** 转换类型 */
type?: OutputType;
/** 称呼方式:true对方称呼我, false我称呼对方 */
reverse?: boolean;
/** 模式选择 */
mode?: string;
/** 最短关系:计算两者之间的最短关系 */
optimal?: boolean;
}Chain
关系链类型
ts
type Chain = string; // 如 "f,m,xb"TitleData
称谓数据类型:键是关系链,值是对应的中文称谓数组
ts
type TitleData = Record<string, string[]>;RelationSymbol
关系符号类型
ts
type RelationSymbol =
| 'f' | 'm' | 'h' | 'w'
| 's' | 'd'
| 'xb' | 'xs'
| 'ob' | 'lb'
| 'os' | 'ls';AgeModifier
年龄修饰符类型
ts
type AgeModifier = 'o' | 'l' | `${number}`;Selector
选择器类型(带前导逗号的关系链)
ts
type Selector = `,${Chain}`;使用示例
基础使用
ts
import relationship, type { RelationshipOptions } from 'relationship-ts';
const options: RelationshipOptions = {
text: '爸爸的妈妈',
sex: 1,
type: 'default',
};
const result = relationship(options);
// result: string[]类型推导
ts
import relationship from 'relationship-ts';
// 类型自动推导
const result = relationship({ text: '爸爸的妈妈' });
// result: string[]函数参数类型
ts
import type { RelationshipOptions } from 'relationship-ts';
function getRelationship(options: RelationshipOptions): string[] {
// ...
return [];
}完整类型导出
ts
// 导入所有类型
import type {
RelationshipOptions,
Sex,
OutputType,
Chain,
TitleData,
RelationSymbol,
AgeModifier,
Selector,
ParsedOptions,
RelationMap,
PrefixMap,
FilterRule,
ReplaceRule,
SimilarMap,
} from 'relationship-ts';相关
- relationship() - 主函数 API
- setMode() - setMode API