11.19.11 • Published 1 year ago
lite-ts-parser
Licence
GPL-3.0
Version
11.19.11
Deps
3
Size
72 kB
Vulns
2
Weekly
0
规范
- 字段必须为英文字母且支持层级 例如: a.b.c.d
页签
- 页签名必须与程序定义的类名一致
单元格
- 当单元格不包含
:类型或只有字段:时 则表示该列仅作为显示 不会导入
字段名:array.子类型[.正则]
- 奖励数组(Reward[][])
| 字段名rewards.\n\n\n |
|---|
| 字段说明 |
| 支付余额*1*11 支付余额*2*22 支付余额*3*33 |
[{
字段名: [
[
[{
count: 1,
valueType: 4,
weight: 11,
}],
[{
count: 2,
valueType: 4,
weight: 22,
}],
],
[
[{
count: 3,
valueType: 4,
weight: 33,
}],
]
]
}]
- 数值数组(Value[])
| 字段名value |
|---|
| 字段说明 |
| 支付余额*1 支付余额*2 支付余额*3 |
[{
字段名: [{
count: 1,
valueType: 4,
},
{
count: 2,
valueType: 4,
},
{
count: 3,
valueType: 4,
}],
}]
- 枚举名数组
| 字段名config.enum.config.ValueTypeData.text |
|---|
| 字段说明 |
| 支付余额 支付余额 |
[{
字段名: [4, 4],
}]
字段名:bool
| 字段名:bool |
|---|
| 字段说明 |
| TRUE |
[{
字段名: true
}]
字段应用.枚举名[.字段(默认value)]
| 字段名config.ValueTypeData.text |
|---|
| 字段说明 |
| 支付余额 |
[{
字段名: 4
}]
字段名:json
| 字段名:json |
|---|
| 字段说明 |
| [1,2] |
[{
字段名: [1,2]
}]
字段名:number
| 字段名:number |
|---|
| 字段说明 |
| 100 |
[{
字段名: 100
}]
字段名:rewards
| 字段名:rewards |
|---|
| 字段说明 |
| 支付余额*100*1 支付余额*10*99 支付余额*99 |
// 支付余额编号: 1
[{
字段名: [
[{
count: 100,
valueType: 4,
weight: 1,
}, {
count: 10,
valueType: 4,
weight: 99,
}],
[{
count: 99,
valueType: 4,
}],
]
}]
字段名:string
| 字段名:string |
|---|
| 字段说明 |
| aa |
[{
字段名: "aa"
}]
字段名:unix
| 字段名:unix |
|---|
| 字段说明 |
| 2022-12-09 |
[{
字段名: 1670515200
}]
字段名:value
| 字段名:value |
|---|
| 字段说明 |
| 支付余额*99 |
[{
字段名: {
count: 99,
valueType: 4,
}
}]
字段名:valueConditions
| 字段名:valueConditions |
|---|
| 字段说明 |
| 支付余额>=9 支付余额<100 支付余额=1000 |
[{
字段名: [
[{
count: 9,
op: '>=',
valueType: 4,
}, {
count: 100,
op: '<',
valueType: 4,
}],
[{
count: 1000,
op: '=',
valueType: 4,
}],
]
}]
字段名:#:页签.筛选字段
- A页签
| xx:#:aa.no |
|---|
| 字段说明 |
| 1 |
- aa页签
| no:int | text:string |
|---|---|
| 编号 | 文本 |
| 1 | 你好 |
| 1 | 欢迎 |
[{
xx: [{
text: '你好'
}, {
text: '欢迎'
}]
}]
[字段名]:类型
| value:number | a.[b]:string | a.b.c:number | a.b.d:bool |
|---|---|---|---|
| 编号 | 键 | 数字值 | 布尔值 |
| 1 | aa | 11 | false |
| 1 | bb | 22 | true |
[{
value: 1,
a: {
aa: {
c: 11,
d: false,
},
bb: {
c: 22,
d: true
}
}
}]
代码
ParserFactoryBase - 解析工厂
const factory: ParserFactoryBase;
const parser = facotry.build<T>('类型');
const res = await parser.parse(原始值);
// res is T
- ParserFactory - 默认工厂
const enumFactory: EnumFactoryBase;
const factory: ParserFactoryBase = new ParserFactory(enumFactory, {
// 扩展解析器
类型: IParser,
...
});