Cabrillo是一种运用于业余无线电竞赛的日志格式,在Github上找了一圈,发现有Ruby和python写的,想了想,不如用我比较熟悉的js弄一个cabrillo的解析库。

目前发布的是0.1.0版本,准备在重构后推出0.2.0版本。同样会在集成node-adif两个库后推出cli工具。
但是意外的是,我在国内外的ham论坛里推广了下发现没有这类的需求,所以在第一条issue出来前是不会开工的,相反大家对c++的解析更感兴趣???用electron封装不是更好???

实现的是cabrillo和json的互相转换,目前是兼容了CQWW,CQWPX,和ARRL标准模板的cabrillo和json互相转换。同时兼容浏览器和node环境

Github: https://github.com/YuYanDev/cabrillo.js

这是第一个写的有点像样子的js库,全部使用ES5标准写的,标准英文驼峰命名。

整个库编写难点就是在于Cabrillo缩进问题,呼号不足要用占位符补全。
但是js对空格的补全处理非常鸡肋,在html环境下得用 ,所以我单独封装了函数creatVariableQsoField来专门处理这个问题,这个函数将原始字符串,长度,对其方式传入,当字符串大于长度时抛出错误,不足时按长度补全空格后返回处理好的字符串。

关于json的处理的理解和能力提升了很多

在库的开发方面还是需要提高姿势水平啊