From 847e567cc256302ebb8912de1398fd40cb592e86 Mon Sep 17 00:00:00 2001 From: nomnes Date: Tue, 6 Aug 2019 20:30:34 +0700 Subject: [PATCH] add types definition --- index.d.ts | 31 +++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 32 insertions(+) create mode 100644 index.d.ts diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..b164176 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,31 @@ +import SocketIOClient from "socket.io-client"; +import { + DefaultComputed, + DefaultData, + DefaultMethods, + DefaultProps, + PropsDefinition, +} from "vue/types/options"; +import { Vue } from "vue/types/vue"; + +interface socketHandler { + (this: T, ...args: any[]): SocketIOClient.Socket +} + +declare module 'vue/types/vue' { + interface Vue { + $socket: SocketIOClient.Socket + } +} + +declare module 'vue/types/options' { + interface ComponentOptions< + V extends Vue, + Data=DefaultData, + Methods=DefaultMethods, + Computed=DefaultComputed, + PropsDef=PropsDefinition, + Props=DefaultProps> { + sockets: {[key: string]: socketHandler} + } +} diff --git a/package.json b/package.json index f486ca9..f457b66 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "@babel/preset-env": "^7.1.0", "babel-loader": "^8.0.4", "cross-env": "^5.2.0", + "vue": "^2.6.10", "webpack": "^4.23.1", "webpack-cli": "^3.1.2" }