[improvement] mixins typescript (#3690)

This commit is contained in:
neverland
2019-06-29 11:31:53 +08:00
committed by GitHub
parent 0a79536a05
commit abe3e59bed
17 changed files with 135 additions and 82 deletions
+2
View File
@@ -47,3 +47,5 @@ export function createBEM(name: string) {
return mods ? [el, prefix(el, mods)] : el;
};
}
export type BEM = ReturnType<typeof createBEM>;
+2
View File
@@ -10,3 +10,5 @@ export function createI18N(name: string) {
return typeof message === 'function' ? message(...args) : message;
};
}
export type Translate = ReturnType<typeof createI18N>;
+4 -4
View File
@@ -1,11 +1,11 @@
import { createBEM } from './bem';
import { createBEM, BEM } from './bem';
import { createComponent } from './component';
import { createI18N } from './i18n';
import { createI18N, Translate } from './i18n';
type CreateNamespaceReturn = [
ReturnType<typeof createComponent>,
ReturnType<typeof createBEM>,
ReturnType<typeof createI18N>
BEM,
Translate
];
export function createNamespace(name: string): CreateNamespaceReturn {
+8 -4
View File
@@ -2,7 +2,7 @@
/* eslint-disable getter-return */
/* eslint-disable import/no-mutable-exports */
import { isServer } from '..';
import { EventHanlder } from '../types';
import { EventHandler } from '../types';
export let supportsPassive = false;
@@ -20,9 +20,9 @@ if (!isServer) {
}
export function on(
target: HTMLElement,
target: HTMLElement | Document,
event: string,
handler: EventHanlder,
handler: EventHandler,
passive = false
) {
if (!isServer) {
@@ -34,7 +34,11 @@ export function on(
}
}
export function off(target: HTMLElement, event: string, handler: EventHanlder) {
export function off(
target: HTMLElement | Document,
event: string,
handler: EventHandler
) {
if (!isServer) {
target.removeEventListener(event, handler);
}
+1 -1
View File
@@ -1,7 +1,7 @@
import { VNode, CreateElement, RenderContext } from 'vue';
import { InjectOptions, PropsDefinition } from 'vue/types/options';
export type EventHanlder = (eventName?: Event) => void;
export type EventHandler = (event: Event) => void;
export type ObjectIndex = {
[key: string]: any;