This commit is contained in:
nomnes 2019-08-06 21:09:05 +07:00
parent cec2a185f5
commit d4bb50597b

14
index.d.ts vendored
View file

@ -11,12 +11,20 @@ import { PluginFunction, PluginObject } from "vue";
import { Store } from "vuex"; import { Store } from "vuex";
interface socketHandler<T> { interface socketHandler<T> {
(this: T, ...args: any[]): SocketIOClient.Socket (this: T, ...args: any[]): void
}
interface Sockets<V> {
[key: string]: socketHandler<V>
} }
declare module 'vue/types/vue' { declare module 'vue/types/vue' {
interface Vue { interface Vue {
$socket: SocketIOClient.Socket $socket: SocketIOClient.Socket,
sockets: {
subscribe(eventName: string, handler: socketHandler<Vue>): void,
unsubscribe(eventName: string): void,
}
} }
} }
@ -28,7 +36,7 @@ declare module 'vue/types/options' {
Computed=DefaultComputed, Computed=DefaultComputed,
PropsDef=PropsDefinition<DefaultProps>, PropsDef=PropsDefinition<DefaultProps>,
Props=DefaultProps> { Props=DefaultProps> {
sockets: {[key: string]: socketHandler<V>} sockets?: Sockets<V>
} }
} }