- 个人学习使用。目前仅用于简单的数据转换,不负责数据同步
- 编译原理没学好
- 规则定义
- 下行
- 上行
- 目前仅支持很简单的单行表达式
- 等我研究一下编译原理,和部分编译器后,可能会增强部分功能。
- 左侧为本地规则,右侧为远端规则
- 支持简单计算,
- 不支持rawText
- 都是通过function body来完成的。
- 远端数据根据规则映射成本地属性的值
- 本地数据按照规则映射成远端属性的值
- 单行表达式支持简单字面量。不支持字面对象,数组。
- 支持多行表达式与赋值语句,每行以‘;’结束
- 支持返回最后一行内容
- 支持下行扩展
- 支持上行扩展
- 通过提供thisArgs,可以自定义复杂的功能。
经过思考这里的内容应当尽量简单,这个只是js中数据映射的辅助工具,而不是强大的语言支持。 复杂的语言支持,会导致解析过程消耗的资源比运行还多,同时导致映射过程难以追踪与维护。 个人觉得支持多行赋值语句、支持js字面量就可以了。 综上内部函数的实现会被延期。 其实可以用的已有的解析工具处理,参考了源码之后,功能都非常棒,但不是最初的本义。不过这个工具应该可以通过扩展来引入这些解析工具,使得我们能够改善、增强。
还可以完全不解析,都有js来完成,但是functio
- yarn add -D typescript
- typescript 3.7 之后的版本提供从js文件生成.d.ts的功能
- npx typescript src/index.js --declaration --allowJs --emitDeclarationOnly --outDir dist