diff --git a/vue/vue-tests.ts b/vue/vue-tests.ts index c8612ca870..48d8d91683 100644 --- a/vue/vue-tests.ts +++ b/vue/vue-tests.ts @@ -30,9 +30,20 @@ namespace TestGlobalAPI { twoWay: true, acceptStatement: true, priority: 1, + terminal: true, count: 30 }); - Vue.directive("my-directive", () => {}); + Vue.directive("my-directive", function() { + const d = this as vuejs.Directive; + d.el; + d.vm; + d.expression; + d.arg; + d.name; + d.modifiers; + d.descriptor; + d.params; + }); var myDirective = Vue.directive("my-directive"); var elementDirective = Vue.elementDirective("element-directive"); Vue.elementDirective("element-directive", elementDirective); diff --git a/vue/vue.d.ts b/vue/vue.d.ts index faee50af8f..a335ee63d1 100644 --- a/vue/vue.d.ts +++ b/vue/vue.d.ts @@ -38,10 +38,22 @@ declare namespace vuejs { deep?: boolean; twoWay?: boolean; acceptStatement?: boolean; + terminal?: boolean; priority?: number; [key: string]: any; } + interface Directive { + el: HTMLElement; + vm: Vue; + expression: string; + arg?: string; + name: string; + modifiers: { [key: string]: boolean }; + descriptor: any; + params?: { [key: string]: any }; + } + interface FilterOption { read?: Function; write?: Function;