UNPKG

recogn-parse

Version:

recogn-parse 提供了 识别--解析 的机制,使用者只需要添加识别器 和 解析器,然后就可以对事件进行识别和解析,适合用所有具备 识别--解析 流程的场景中,如:加载并显示各种模型、预览文件等

214 lines (95 loc) 3.14 kB
<!-- Do not edit this file. It is automatically generated by API Documenter. --> [Home](./index.md) &gt; [recogn-parse](./recogn-parse.md) &gt; [Resolver](./recogn-parse.resolver.md) ## Resolver class 解决者 **Signature:** ```typescript export declare class Resolver<Options = any> ``` ## Remarks 负责解析操作,所有的解析逻辑都是由该类来完成的。 每次执行解决操作时,会按照如下顺序调用解析器: 1. 如果找不到对应类型 type 的 解析器,则会终止解决流程。 2. 依次执行前置解析器 `preParses` 中的所有解析函数,即使有抛出错误,也会继续执行,并会以最后一个解析函数返回的结果为最终前置解析器的解析结果,然后将 前置解析的结果 传给后续的解析器。 3. 依次执行根据 类型 type 查找到的解析器序列。如果序列中任意解析器抛出错误,则会终止解决流程。否则,以最后一个解析函数返回的结果为最终的解析结果 并 传递给后续的解析器。 4. 依次执行后置解析器 `postParses` 中的所有解析函数,即使有抛出错误,也会继续执行,并会以最后一个解析函数返回的结果为最终的解析结果。 ## Properties <table><thead><tr><th> Property </th><th> Modifiers </th><th> Type </th><th> Description </th></tr></thead> <tbody><tr><td> [postParses](./recogn-parse.resolver.postparses.md) </td><td> </td><td> [Parse](./recogn-parse.parse.md)<!-- -->&lt;Options&gt;\[\] </td><td> 后置解析器 </td></tr> <tr><td> [preParses](./recogn-parse.resolver.preparses.md) </td><td> </td><td> [Parse](./recogn-parse.parse.md)<!-- -->&lt;Options&gt;\[\] </td><td> 前置解析器 </td></tr> <tr><td> [typeParsers](./recogn-parse.resolver.typeparsers.md) </td><td> </td><td> [TypeParsers](./recogn-parse.typeparsers.md)<!-- -->&lt;any&gt; </td><td> 类型与解析器的映射 </td></tr> </tbody></table> ## Methods <table><thead><tr><th> Method </th><th> Modifiers </th><th> Description </th></tr></thead> <tbody><tr><td> [add(type, parser)](./recogn-parse.resolver.add.md) </td><td> </td><td> 添加解析器 </td></tr> <tr><td> [addParsers(parsers)](./recogn-parse.resolver.addparsers.md) </td><td> </td><td> 添加多个解析器 </td></tr> <tr><td> [remove(type, parser)](./recogn-parse.resolver.remove.md) </td><td> </td><td> 删除 解析器 </td></tr> <tr><td> [removeType(type)](./recogn-parse.resolver.removetype.md) </td><td> </td><td> 移除指定类型的解析器 </td></tr> <tr><td> [resolve(type, target, targetOptions, recognResult)](./recogn-parse.resolver.resolve.md) </td><td> </td><td> 解决 </td></tr> <tr><td> [resolveAsync(type, target, targetOptions, recognResult)](./recogn-parse.resolver.resolveasync.md) </td><td> </td><td> 异步解决 </td></tr> </tbody></table>