Merge pull request #152 from hmsk/typings

Add type declaration for $modal
This commit is contained in:
Yev Vlasenko
2017-12-24 14:30:55 +00:00
committed by GitHub
4 changed files with 53 additions and 1 deletions

View File

@@ -8,6 +8,7 @@
"type": "git",
"url": "https://github.com/euvl/vue-js-modal.git"
},
"types": "types/index.d.ts",
"keywords": [
"vue",
"vuejs",
@@ -22,7 +23,8 @@
"build:server": "webpack --config ./build/webpack.server.config.js --progress --hide-modules",
"lint": "eslint --ext .js,.vue src test/unit/specs",
"unit": "./node_modules/karma/bin/karma start test/unit/karma.conf.js",
"build": "npm run lint && npm run unit && npm run build:client && npm run build:server"
"build": "npm run lint && npm run unit && npm run build:client && npm run build:server",
"test:types": "tsc -p types/test"
},
"license": "MIT",
"devDependencies": {

21
types/index.d.ts vendored Normal file
View File

@@ -0,0 +1,21 @@
import Vue, { PluginObject } from "vue";
declare const VueJSModal: PluginObject<VueJSModalOptions>;
export default VueJSModal;
export declare interface VueJSModalOptions {
componentName?: string;
dialog?: boolean;
}
declare interface VModal {
show(name: string, params?: object): void;
hide(name: string, params?: object): void;
toggle(name: string, params?: object): void;
}
declare module "vue/types/vue" {
interface Vue {
$modal: VModal;
}
}

16
types/test/index.ts Normal file
View File

@@ -0,0 +1,16 @@
import Vue from "vue";
import VueJSModal, { VueJSModalOptions } from "../index";
Vue.use(VueJSModal);
Vue.use<VueJSModalOptions>(VueJSModal, {
componentName: "another-modal-name",
dialog: false
});
const vm = new Vue({
template: `<vue-modal name="awesome-modal"></vue-modal>`
}).$mount("#app");
vm.$modal.show("awesome-modal");
vm.$modal.hide("awesome-modal", { customeEvent: "customEventParam" });
vm.$modal.toggle("awesome-modal");

13
types/test/tsconfig.json Normal file
View File

@@ -0,0 +1,13 @@
{
"compilerOptions": {
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"strict": true,
"noEmit": true
},
"include": [
"*.ts",
"../index.d.ts"
]
}