From aa5c66c087896ff55568b76ae49f77321ba0123a Mon Sep 17 00:00:00 2001 From: Olavo Rocha Neto Date: Tue, 24 Sep 2019 14:07:57 -0300 Subject: [PATCH] adds vue-datetime typings (#38428) * Adds vue-datetime definitions * npm test fixes for PR --- types/vue-datetime/index.d.ts | 25 ++++++++++++++++++++ types/vue-datetime/package.json | 6 +++++ types/vue-datetime/tsconfig.json | 24 +++++++++++++++++++ types/vue-datetime/tslint.json | 1 + types/vue-datetime/vue-datetime-tests.ts | 30 ++++++++++++++++++++++++ 5 files changed, 86 insertions(+) create mode 100644 types/vue-datetime/index.d.ts create mode 100644 types/vue-datetime/package.json create mode 100644 types/vue-datetime/tsconfig.json create mode 100644 types/vue-datetime/tslint.json create mode 100644 types/vue-datetime/vue-datetime-tests.ts diff --git a/types/vue-datetime/index.d.ts b/types/vue-datetime/index.d.ts new file mode 100644 index 0000000000..aa20d53bee --- /dev/null +++ b/types/vue-datetime/index.d.ts @@ -0,0 +1,25 @@ +// Type definitions for vue-datetime 1.0 +// Project: https://github.com/mariomka/vue-datetime#readme +// Definitions by: Olavo Rocha Neto +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.3 + +import { VueConstructor } from 'vue'; +export const Datetime: VueDateTimeConstructor; +export const DatetimePopup: VueDateTimeConstructor; +export default Datetime; + +export interface VueDateTimeProps { + inputClass: any; + inputStyle: any; +} + +export interface VueDateTimeData { + value: string; +} + +export interface VueDateTimeConstructor extends VueConstructor { + props: VueDateTimeProps; + data: () => VueDateTimeData; + methods: any; +} diff --git a/types/vue-datetime/package.json b/types/vue-datetime/package.json new file mode 100644 index 0000000000..faefc1b2f7 --- /dev/null +++ b/types/vue-datetime/package.json @@ -0,0 +1,6 @@ +{ + "private": true, + "dependencies": { + "vue": ">=2.0.0" + } +} diff --git a/types/vue-datetime/tsconfig.json b/types/vue-datetime/tsconfig.json new file mode 100644 index 0000000000..68d6c520c4 --- /dev/null +++ b/types/vue-datetime/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", + "dom" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "vue-datetime-tests.ts" + ] +} diff --git a/types/vue-datetime/tslint.json b/types/vue-datetime/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/vue-datetime/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } diff --git a/types/vue-datetime/vue-datetime-tests.ts b/types/vue-datetime/vue-datetime-tests.ts new file mode 100644 index 0000000000..dc9f17ccfc --- /dev/null +++ b/types/vue-datetime/vue-datetime-tests.ts @@ -0,0 +1,30 @@ +import Vue from 'vue'; +import VueDateTime from 'vue-datetime'; + +const options = [ + { + name: 'SomeName' + }, + { + name: 'SomeName2' + } +]; + +new Vue({ + el: '#app', + data: { + value: null, + }, + components: { + 'vue-datetime': VueDateTime + }, + methods: { + optionConsumer(option: any) { + }, + }, + template: ` + + +` +});