[improvement] mixins typescript (#3690)
This commit is contained in:
@@ -47,3 +47,5 @@ export function createBEM(name: string) {
|
||||
return mods ? [el, prefix(el, mods)] : el;
|
||||
};
|
||||
}
|
||||
|
||||
export type BEM = ReturnType<typeof createBEM>;
|
||||
|
||||
@@ -10,3 +10,5 @@ export function createI18N(name: string) {
|
||||
return typeof message === 'function' ? message(...args) : message;
|
||||
};
|
||||
}
|
||||
|
||||
export type Translate = ReturnType<typeof createI18N>;
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user