-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
鉴于目前的简记法能够提供强类型的参数匹配,普通记法也应当能实现类似功能。所以我提议建立一个简易的类型系统,允许用户在每一个函数前附加一个类似jsdoc的注释(可缺省),格式大致如下
/**
* optional desc which wil be ignored
* @param {Subtrack} param1 optional desc which wil be ignored
* @param {Subtrack} param2 optional desc which wil be ignored
* @alias xxxx (目前考虑用 ;分隔优先级声明,待议)
* @alias yyyy
* @other tags which wil be ignored
*/注意到alias的声明中包含了对对应参数的类型限制,因此@param和@alias可以考虑相互配合
- 无简记的函数,仅依据param判定类型,无则任意类型
- 有简记的函数,如果有param,简记法声明时可以不再声明约束类型,1: subtrack 简化为 1
- 有简记的函数,如果无param,简记法声明中的类型约束可以作为函数的类型
以上是我的一些想法,应该属于非破坏性的功能增强。
附注:类似tm的文档语法的设计思想,设计尽量贴近jsdoc语法,但为最高效地为tm函数服务,而作出少量改变,目前包括:
-
覆写了jsdoc对alias的定义
-
限制了有效的类型格式
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request