Skip to content
This repository has been archived by the owner on Mar 7, 2024. It is now read-only.

Commit

Permalink
fix: 修正微信组件及API类型定义
Browse files Browse the repository at this point in the history
修复组件事件类型定义不支持 async 写法
修复API类型定义不支持 optional 参数
  • Loading branch information
Darmody authored and yesmeck committed Sep 2, 2019
1 parent 9e52a2d commit 4630ff4
Show file tree
Hide file tree
Showing 40 changed files with 222 additions and 178 deletions.
132 changes: 71 additions & 61 deletions packages/remax/src/adapters/wechat/api.ts

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions packages/remax/src/adapters/wechat/components/Ad.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ const Ad = factory<AdProps>('ad');
export interface AdProps {
unitId: string; // 是 广告单元id,可在小程序管理后台的流量主模块新建 1.9.94;
adIntervals?: number; // 否 广告自动刷新的间隔时间,单位为秒,参数值必须大于等于30(该参数不传入时 Banner 广告不会自动刷新) 2.3.1
onLoad?: (event: any) => void; // 否 广告加载成功的回调 2.2.1
onError?: (event: any) => void; // 否 广告加载失败的回调,event.detail = {errCode: 1002} 2.2.1
onClose?: (event: any) => void; // 否 广告关闭的回调 2.6.5
onLoad?: (event: any) => any; // 否 广告加载成功的回调 2.2.1
onError?: (event: any) => any; // 否 广告加载失败的回调,event.detail = {errCode: 1002} 2.2.1
onClose?: (event: any) => any; // 否 广告关闭的回调 2.6.5
}

export default Ad;
14 changes: 7 additions & 7 deletions packages/remax/src/adapters/wechat/components/Button.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@ export interface ButtonProps {
sendMessageImg?: string; // 截图 否 会话内消息卡片图片,open-type="contact"时有效 1.5.0
appParameter?: string; // 否 打开 APP 时,向 APP 传递的参数,open-type=launchApp时有效 1.9.5
showMessageCard?: boolean; // false 否 是否显示会话内消息卡片,设置此参数为 true,用户进入客服会话会在右下角显示"可能要发送的小程序"提示,用户点击后可以快速发送小程序消息,open-type="contact"时有效 1.5.0
onClick?: (event: any) => void;
onGetUserinfo?: () => void; // 否 用户点击该按钮时,会返回获取到的用户信息,回调的detail数据与wx.getUserInfo返回的一致,open-type="getUserInfo"时有效 1.3.0
onContact?: () => void; // 否 客服消息回调,open-type="contact"时有效 1.5.0
onGetPhonenumber?: () => void; // 否 获取用户手机号回调,open-type=getPhoneNumber时有效 1.2.0
onError?: () => void; // 否 当使用开放能力时,发生错误的回调,open-type=launchApp时有效 1.9.5
onOpenSetting?: () => void; // 否 在打开授权设置页后回调,open-type=openSetting时有效 2.0.7
onLaunchApp?: () => void; // 否 打开 APP 成功的回调,open-type=launchApp时有效 2.4.4
onClick?: (event: any) => any;
onGetUserInfo?: (event: any) => any; // 否 用户点击该按钮时,会返回获取到的用户信息,回调的detail数据与wx.getUserInfo返回的一致,open-type="getUserInfo"时有效 1.3.0
onContact?: (event: any) => any; // 否 客服消息回调,open-type="contact"时有效 1.5.0
onGetPhoneNumber?: (event: any) => any; // 否 获取用户手机号回调,open-type=getPhoneNumber时有效 1.2.0
onError?: (event: any) => any; // 否 当使用开放能力时,发生错误的回调,open-type=launchApp时有效 1.9.5
onOpenSetting?: (event: any) => any; // 否 在打开授权设置页后回调,open-type=openSetting时有效 2.0.7
onLaunchApp?: (event: any) => any; // 否 打开 APP 成功的回调,open-type=launchApp时有效 2.4.4
animation?: Record<string, any>[];
}

Expand Down
8 changes: 4 additions & 4 deletions packages/remax/src/adapters/wechat/components/Camera.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ export interface CameraProps {
devicePosition?: string; // back 否 摄像头朝向 1.0.0
flash?: string; // auto 否 闪光灯,值为auto, on, off 1.0.0
frameSize?: string; // medium 否 指定期望的相机帧数据尺寸 2.7.0
onStop?: (event: any) => void; // 否 摄像头在非正常终止时触发,如退出后台等情况 1.0.0
onError?: (event: any) => void; // 否 用户不允许使用摄像头时触发 1.0.0
onInitDone?: (event: any) => void; // 否 相机初始化完成时触发 2.7.0
onScanCode?: (event: any) => void; // 否 在扫码识别成功时触发,仅在 mode="scanCode" 时生效 2.1.0
onStop?: (event: any) => any; // 否 摄像头在非正常终止时触发,如退出后台等情况 1.0.0
onError?: (event: any) => any; // 否 用户不允许使用摄像头时触发 1.0.0
onInitDone?: (event: any) => any; // 否 相机初始化完成时触发 2.7.0
onScanCode?: (event: any) => any; // 否 在扫码识别成功时触发,仅在 mode="scanCode" 时生效 2.1.0
}

export default Camera;
14 changes: 7 additions & 7 deletions packages/remax/src/adapters/wechat/components/Canvas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ export interface CanvasProps {
type?: string; // 否 指定 canvas 类型,当前仅支持 webgl 2.7.0
canvasId?: string; // 否 canvas 组件的唯一标识符,若指定了 type 则无需再指定该属性 1.0.0
disableScroll?: boolean; // false 否 当在 canvas 中移动时且有绑定手势事件时,禁止屏幕滚动以及下拉刷新 1.0.0
onClick?: (event: any) => void;
onTouchStart?: (event: any) => void; // 否 手指触摸动作开始 1.0.0
onTouchMove?: (event: any) => void; // 否 手指触摸后移动 1.0.0
onTouchEnd?: (event: any) => void; // 否 手指触摸动作结束 1.0.0
onTouchCancel?: (event: any) => void; // 否 手指触摸动作被打断,如来电提醒,弹窗 1.0.0
onLongClick?: (event: any) => void; // 否 手指长按 500ms 之后触发,触发了长按事件后进行移动不会触发屏幕的滚动 1.0.0
onError?: (event: any) => void; // 否 当发生错误时触发 error 事件,detail = {errMsg} 1.0.0
onClick?: (event: any) => any;
onTouchStart?: (event: any) => any; // 否 手指触摸动作开始 1.0.0
onTouchMove?: (event: any) => any; // 否 手指触摸后移动 1.0.0
onTouchEnd?: (event: any) => any; // 否 手指触摸动作结束 1.0.0
onTouchCancel?: (event: any) => any; // 否 手指触摸动作被打断,如来电提醒,弹窗 1.0.0
onLongClick?: (event: any) => any; // 否 手指长按 500ms 之后触发,触发了长按事件后进行移动不会触发屏幕的滚动 1.0.0
onError?: (event: any) => any; // 否 当发生错误时触发 error 事件,detail = {errMsg} 1.0.0
}

export default Canvas;
2 changes: 1 addition & 1 deletion packages/remax/src/adapters/wechat/components/Checkbox.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export interface CheckboxProps {
checked?: boolean; // false 否 当前是否选中,可用来设置默认选中 1.0.0
color?: string; // #09BB07 否 checkbox的颜色,同css的color 1.0.0
animation?: Record<string, any>[];
onClick?: (event: any) => void;
onClick?: (event: any) => any;
}

export default Checkbox;
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export interface CheckboxGroupProps {
checked?: boolean; // false 否 当前是否选中,可用来设置默认选中 1.0.0
color?: string; // #09BB07 否 checkbox的颜色,同css的color 1.0.0
animation?: Record<string, any>[];
onClick?: (event: any) => void;
onClick?: (event: any) => any;
}

export default CheckboxGroup;
6 changes: 3 additions & 3 deletions packages/remax/src/adapters/wechat/components/CoverImage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ export interface CoverImageProps {
className?: string;
style?: CSSProperties;
src?: string; // 否 图标路径,支持临时路径、网络地址(1.6.0起支持)、云文件ID(2.2.3起支持)。暂不支持base64格式。 1.4.0
onLoad?: (event: any) => void; // 否 图片加载成功时触发 2.1.0
onError?: (event: any) => void; // 否 图片加载失败时触发 2.1.0
onLoad?: (event: any) => any; // 否 图片加载成功时触发 2.1.0
onError?: (event: any) => any; // 否 图片加载失败时触发 2.1.0
animation?: Record<string, any>[];
onClick?: (event: any) => void;
onClick?: (event: any) => any;
}

export default CoverImage;
2 changes: 1 addition & 1 deletion packages/remax/src/adapters/wechat/components/CoverView.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export interface CoverViewProps {
className?: string;
style?: CSSProperties;
scrollTop?: number | string; // 否 设置顶部滚动偏移量,仅在设置了 overflow-y: scroll 成为滚动元素后生效 2.1.0
onClick?: (event: any) => void;
onClick?: (event: any) => any;
animation?: Record<string, any>[];
}

Expand Down
12 changes: 6 additions & 6 deletions packages/remax/src/adapters/wechat/components/Editor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ export interface EditorProps {
showImgSize?: boolean; // false 否 点击图片时显示图片大小控件 2.7.0
showImgToolbar?: boolean; // false 否 点击图片时显示工具栏控件 2.7.0
showImgResize?: boolean; // false 否 点击图片时显示修改尺寸控件 2.7.0
onClick?: (event: any) => void;
onReady: (event: any) => void; //否 编辑器初始化完成时触发 2.7.0
onFocus: (event: any) => void; //否 编辑器聚焦时触发,event.detail = {html, text, delta} 2.7.0
onBlur: (event: any) => void; //否 编辑器失去焦点时触发,detail = {html, text, delta} 2.7.0
onInput: (event: any) => void; //否 编辑器内容改变时触发,detail = {html, text, delta} 2.7.0
onStatusChange: (event: any) => void; //否 通过 Context 方法改变编辑器内样式时触发,返回选区已设置的样式 2.7.0
onClick?: (event: any) => any;
onReady: (event: any) => any; //否 编辑器初始化完成时触发 2.7.0
onFocus: (event: any) => any; //否 编辑器聚焦时触发,event.detail = {html, text, delta} 2.7.0
onBlur: (event: any) => any; //否 编辑器失去焦点时触发,detail = {html, text, delta} 2.7.0
onInput: (event: any) => any; //否 编辑器内容改变时触发,detail = {html, text, delta} 2.7.0
onStatusChange: (event: any) => any; //否 通过 Context 方法改变编辑器内样式时触发,返回选区已设置的样式 2.7.0
}
export default Editor;
6 changes: 3 additions & 3 deletions packages/remax/src/adapters/wechat/components/Form.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ export interface FormProps {
style?: CSSProperties;
reportSubmit?: boolean; // false 否 是否返回 formId 用于发送模板消息 1.0.0
reportSubmitTimeout?: number; // 0 否 等待一段时间(毫秒数)以确认 formId 是否生效。如果未指定这个参数,formId 有很小的概率是无效的(如遇到网络失败的情况)。指定这个参数将可以检测 formId 是否有效,以这个参数的时间作为这项检测的超时时间。如果失败,将返回 requestFormId:fail 开头的 formId 2.6.2
onClick?: (event: any) => void;
onSubmit?: (event: any) => void; // 否 携带 form 中的数据触发 submit 事件,event.detail = {value : {'name': 'value'} , formId: ''} 1.0.0
onReset?: (event: any) => void; // 否 表单重置时会触发 reset 事件 1.0.0
onClick?: (event: any) => any;
onSubmit?: (event: any) => any; // 否 携带 form 中的数据触发 submit 事件,event.detail = {value : {'name': 'value'} , formId: ''} 1.0.0
onReset?: (event: any) => any; // 否 表单重置时会触发 reset 事件 1.0.0
animation?: Record<string, any>[];
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ export interface FunctionalPageNavigatorProps {
version?: string; // release 否 跳转到的小程序版本,线上版本必须设置为 release 2.1.0
name?: string; // 否 要跳转到的功能页 2.1.0
args?: object; // 否 功能页参数,参数格式与具体功能页相关 2.1.0
onSuccess?: (event: any) => void; // 否 功能页返回,且操作成功时触发, detail 格式与具体功能页相关 2.1.0
onFail?: (event: any) => void; // 否 功能页返回,且操作失败时触发, detail 格式与具体功能页相关 2.1.0
onCancel?: (event: any) => void; // 否 因用户操作从功能页返回时触发 2.4.1
onSuccess?: (event: any) => any; // 否 功能页返回,且操作成功时触发, detail 格式与具体功能页相关 2.1.0
onFail?: (event: any) => any; // 否 功能页返回,且操作失败时触发, detail 格式与具体功能页相关 2.1.0
onCancel?: (event: any) => any; // 否 因用户操作从功能页返回时触发 2.4.1
}

export default FunctionalPageNavigator;
2 changes: 1 addition & 1 deletion packages/remax/src/adapters/wechat/components/Icon.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export interface IconProps {
size?: number | string; // 23 否 icon的大小 1.0.0
color?: string; // 否 icon的颜色,同css的color 1.0.0
animation?: Record<string, any>[];
onClick?: (event: any) => void;
onClick?: (event: any) => any;
}

export default Icon;
6 changes: 3 additions & 3 deletions packages/remax/src/adapters/wechat/components/Image.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ export interface ImageProps {
mode?: string; // scaleToFill 否 图片裁剪、缩放的模式 1.0.0
lazyLoad?: boolean; // false 否 图片懒加载,在即将进入一定范围(上下三屏)时才开始加载 1.5.0
showMenuByLongpress?: boolean; // false 否 开启长按图片显示识别小程序码菜单 2.7.0
onError?: (event: any) => void; // 否 当错误发生时触发,,event.detail = {errMsg} 1.0.0
onLoad?: (event: any) => void; // 否 当图片载入完毕时触发,event.detail = {height, width} 1.0.0
onError?: (event: any) => any; // 否 当错误发生时触发,,event.detail = {errMsg} 1.0.0
onLoad?: (event: any) => any; // 否 当图片载入完毕时触发,event.detail = {height, width} 1.0.0
animation?: Record<string, any>[];
onClick?: (event: any) => void;
onClick?: (event: any) => any;
}

export default Image;
4 changes: 2 additions & 2 deletions packages/remax/src/adapters/wechat/components/Input.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ export interface InputProps {
onClick?: (...params: any) => void;
onFocus?: (...params: any) => void;
onBlur?: (...params: any) => void;
onConfirm?: () => void;
onKeyboardHeightChange?: () => void;
onConfirm?: (event: any) => any;
onKeyboardHeightChange?: (event: any) => any;
animation?: Record<string, any>[];
}

Expand Down
2 changes: 1 addition & 1 deletion packages/remax/src/adapters/wechat/components/Label.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export interface LabelProps {
style?: CSSProperties;
for?: string; // 否 绑定控件的 id 1.0.0
animation?: Record<string, any>[];
onClick?: (event: any) => void;
onClick?: (event: any) => any;
}

export default Label;
6 changes: 3 additions & 3 deletions packages/remax/src/adapters/wechat/components/LivePlayer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ export interface LivePlayerProps {
soundMode?: string; // speaker 否 声音输出方式 1.9.90
autoPauseIfNavigate?: boolean; // true 否 当跳转到其它小程序页面时,是否自动暂停本页面的实时音视频播放 2.5.0
autoPauseIfOpenNative?: boolean; // true 否 当跳转到其它微信原生页面时,是否自动暂停本页面的实时音视频播放 2.5.0
onStateChange?: (event: any) => void; // 否 播放状态变化事件,detail = {code} 1.7.0
onFullScreenChange?: (event: any) => void; // 否 全屏变化事件,detail = {direction, fullScreen} 1.7.0
onNetStatus?: (event: any) => void; // 否 网络状态通知,detail = {info} 1.9.0
onStateChange?: (event: any) => any; // 否 播放状态变化事件,detail = {code} 1.7.0
onFullScreenChange?: (event: any) => any; // 否 全屏变化事件,detail = {direction, fullScreen} 1.7.0
onNetStatus?: (event: any) => any; // 否 网络状态通知,detail = {info} 1.9.0
}

export default LivePlayer;
12 changes: 6 additions & 6 deletions packages/remax/src/adapters/wechat/components/LivePusher.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ export interface LivePusherProps {
devicePosition?: string; // front 否 前置或后置,值为front, back 2.3.0
backgroundMute?: boolean; // false 否 进入后台时是否静音 1.7.0
mirror?: boolean; // false 否 设置推流画面是否镜像,产生的效果在 live-player 反应到 2.7.0
onStateChange?: (event: any) => void; // 否 状态变化事件,detail = {code} 1.7.0
onNetStatus?: (event: any) => void; // 否 网络状态通知,detail = {info} 1.9.0
onError?: (event: any) => void; // 否 渲染错误事件,detail = {errMsg, errCode} 1.7.4
onBgmStart?: (event: any) => void; // 否 背景音开始播放时触发 2.4.0
onBgmProgress?: (event: any) => void; // 否 背景音进度变化时触发,detail = {progress, duration} 2.4.0
onBgmComplete?: (event: any) => void; // 否 背景音播放完成时触发 2.4.0
onStateChange?: (event: any) => any; // 否 状态变化事件,detail = {code} 1.7.0
onNetStatus?: (event: any) => any; // 否 网络状态通知,detail = {info} 1.9.0
onError?: (event: any) => any; // 否 渲染错误事件,detail = {errMsg, errCode} 1.7.4
onBgmStart?: (event: any) => any; // 否 背景音开始播放时触发 2.4.0
onBgmProgress?: (event: any) => any; // 否 背景音进度变化时触发,detail = {progress, duration} 2.4.0
onBgmComplete?: (event: any) => any; // 否 背景音播放完成时触发 2.4.0
}
export default LivePusher;
14 changes: 7 additions & 7 deletions packages/remax/src/adapters/wechat/components/Map.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ export interface MapProps {
enableRotate?: boolean; // false 否 是否支持旋转 2.3.0
enableSatellite?: boolean; // false 否 是否开启卫星图 2.7.0
enableTraffic?: boolean; // false 否 是否开启实时路况 2.7.0
onClick?: (event: any) => void; // 否 点击地图时触发 1.0.0
onMarkerClick?: (event: any) => void; // 否 点击标记点时触发,e.detail = {markerId} 1.0.0
onControlClick?: (event: any) => void; // 否 点击控件时触发,e.detail = {controlId} 1.0.0
onCalloutClick?: (event: any) => void; // 否 点击标记点对应的气泡时触发e.detail = {markerId} 1.2.0
onUpdated?: (event: any) => void; // 否 在地图渲染更新完成时触发 1.6.0
onRegionChange?: (event: any) => void; // 否 视野发生变化时触发, 2.3.0
onPoiTap?: (event: any) => void; // 否 点击地图poi点时触发,e.detail = {name, longitude, latitude} 2.3.0
onClick?: (event: any) => any; // 否 点击地图时触发 1.0.0
onMarkerClick?: (event: any) => any; // 否 点击标记点时触发,e.detail = {markerId} 1.0.0
onControlClick?: (event: any) => any; // 否 点击控件时触发,e.detail = {controlId} 1.0.0
onCalloutClick?: (event: any) => any; // 否 点击标记点对应的气泡时触发e.detail = {markerId} 1.2.0
onUpdated?: (event: any) => any; // 否 在地图渲染更新完成时触发 1.6.0
onRegionChange?: (event: any) => any; // 否 视野发生变化时触发, 2.3.0
onPoiTap?: (event: any) => any; // 否 点击地图poi点时触发,e.detail = {name, longitude, latitude} 2.3.0
}

export default Map;
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export interface MovableAreaProps {
className?: string;
style?: CSSProperties;
scaleArea?: boolean; // false 否 当里面的movable-view设置为支持双指缩放时,设置此值可将缩放手势生效区域修改为整个movable-area 1.9.90
onClick?: (event: any) => void;
onClick?: (event: any) => any;
}

export default MovableArea;
10 changes: 5 additions & 5 deletions packages/remax/src/adapters/wechat/components/MovableView.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ export interface MovableViewProps {
scaleMax?: number; // 10 否 定义缩放倍数最大值 1.9.90
scaleValue?: number; // 1 否 定义缩放倍数,取值范围为 0.5 - 10 1.9.90
animation?: boolean; // true 否 是否使用动画 2.1.0
onClick?: (event: any) => void;
onChange?: (event: any) => void; // 否 拖动过程中触发的事件,event.detail = {x, y, source} 1.9.90
onScale?: (event: any) => void; // 否 缩放过程中触发的事件,event.detail = {x, y, scale},x和y字段在2.1.0之后支持 1.9.90
hTouchMove?: (event: any) => void; // 否 初次手指触摸后移动为横向的移动时触发,如果catch此事件,则意味着touchmove事件也被catch 1.9.90
vTouchMove?: (event: any) => void; // 否 初次手指触摸后移动为纵向的移动时触发,如果catch此事件,则意味着touchmove事件也被catch 1.9.90
onClick?: (event: any) => any;
onChange?: (event: any) => any; // 否 拖动过程中触发的事件,event.detail = {x, y, source} 1.9.90
onScale?: (event: any) => any; // 否 缩放过程中触发的事件,event.detail = {x, y, scale},x和y字段在2.1.0之后支持 1.9.90
hTouchMove?: (event: any) => any; // 否 初次手指触摸后移动为横向的移动时触发,如果catch此事件,则意味着touchmove事件也被catch 1.9.90
vTouchMove?: (event: any) => any; // 否 初次手指触摸后移动为纵向的移动时触发,如果catch此事件,则意味着touchmove事件也被catch 1.9.90
}

export default MovableView;
6 changes: 3 additions & 3 deletions packages/remax/src/adapters/wechat/components/Navigator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ export interface NavigatorProps {
hoverStopPropagation?: boolean; // false 否 指定是否阻止本节点的祖先节点出现点击态 1.5.0
hoverStartTime?: number; // 50 否 按住后多久出现点击态,单位毫秒 1.0.0
hoverStayTime?: number; // 600 否 手指松开后点击态保留时间,单位毫秒 1.0.0
onSuccess?: (event: any) => void; // 否 当target="miniProgram"时有效,跳转小程序成功 2.0.7
onFail?: (event: any) => void; // 否 当target="miniProgram"时有效,跳转小程序失败 2.0.7
onComplete?: (event: any) => void; // 否 当target="miniProgram"时有效,跳转小程序完成 2.0.7
onSuccess?: (event: any) => any; // 否 当target="miniProgram"时有效,跳转小程序成功 2.0.7
onFail?: (event: any) => any; // 否 当target="miniProgram"时有效,跳转小程序失败 2.0.7
onComplete?: (event: any) => any; // 否 当target="miniProgram"时有效,跳转小程序完成 2.0.7
}

export default Navigator;
Loading

0 comments on commit 4630ff4

Please sign in to comment.