title: 函数仓库
函数仓库
与组件仓库类似,函数仓库提供了让函数分类的组织形式,最终能够让 JSON 对一个函数进行完整描述。
目前 AMS 在前期仅提供以下函数仓库:
antdams
与组件仓库规范一致,函数仓库需要注意:
1. 所有的仓库名称必须小写。
2. 仓库名除了特殊对待的几个以外,其他均与 npm 线上仓库名称一致。
函数转换为 json 原理
我们常见的函数通常表述如下:
/*** 延迟等待* @param {number} milliseconds - 毫秒*/export const delay = (milliseconds: number) => {return new Promise((resolve) => setTimeout(resolve, milliseconds));};
我们不难发现的是,delay能够进一步表述为以下调用形式
delay.apply(null, [<milliseconds>]);
delay 为函数名,我们仍需定义一个函数仓库用于管理一系列的函数所属,即:registryName='ams'。 [<milliseconds>] 为传入参数,这时我们已经可以使用 json 进行进一步的转换表达:
//export const delay = (milliseconds: number) => {// return new Promise((resolve) => setTimeout(resolve, milliseconds));//};// delay(1000);{"$$$": "function","reigstryName": "ams","functionName": "delay","args": [1000 /* 1秒 */]}
函数仓库 - antd
详细请参考 antd (ant design)。为了避免读者对 antd 用法表示迷茫, 我们提供以下用例便于读者理解。首先我们找到一个 antd 提供的全局实例方法,如:message:
// import { message } from 'antd';// message.info('This is a normal message');{"$$$": "function","registryName": "antd","functionName": "message","args": ["This is a normal message"]}
函数仓库 - ams
文档待补全。
