Skip to content

isuekey/layerconvert

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

a simple convert tools

  • 个人学习使用。目前仅用于简单的数据转换,不负责数据同步
  • 编译原理没学好
  • 规则定义
  • 下行
  • 上行

规则定义

  • 目前仅支持很简单的单行表达式
  • 等我研究一下编译原理,和部分编译器后,可能会增强部分功能。
  • 左侧为本地规则,右侧为远端规则
  • 支持简单计算,
  • 不支持rawText
  • 都是通过function body来完成的。

下行

  • 远端数据根据规则映射成本地属性的值

上行

  • 本地数据按照规则映射成远端属性的值

开发中的功能

  • 单行表达式支持简单字面量。不支持字面对象,数组。
  • 支持多行表达式与赋值语句,每行以‘;’结束
  • 支持返回最后一行内容
  • 支持下行扩展
  • 支持上行扩展
  • 通过提供thisArgs,可以自定义复杂的功能。

修改

经过思考这里的内容应当尽量简单,这个只是js中数据映射的辅助工具,而不是强大的语言支持。 复杂的语言支持,会导致解析过程消耗的资源比运行还多,同时导致映射过程难以追踪与维护。 个人觉得支持多行赋值语句、支持js字面量就可以了。 综上内部函数的实现会被延期。 其实可以用的已有的解析工具处理,参考了源码之后,功能都非常棒,但不是最初的本义。不过这个工具应该可以通过扩展来引入这些解析工具,使得我们能够改善、增强。

作弊

还可以完全不解析,都有js来完成,但是functio

使用 typescript 描述定义文件

  • yarn add -D typescript
  • typescript 3.7 之后的版本提供从js文件生成.d.ts的功能
  • npx typescript src/index.js --declaration --allowJs --emitDeclarationOnly --outDir dist

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published