From e57f80d903737e190c4aaef24bfb3b6fd6da1c7f Mon Sep 17 00:00:00 2001 From: sculove Date: Tue, 22 Aug 2017 17:29:30 +0900 Subject: [PATCH 1/5] add typings for egjs-component --- types/egjs-component/egjs-component-tests.ts | 33 ++++++++++++++++++++ types/egjs-component/index.d.ts | 22 +++++++++++++ types/egjs-component/tsconfig.json | 22 +++++++++++++ types/egjs-component/tslint.json | 1 + 4 files changed, 78 insertions(+) create mode 100644 types/egjs-component/egjs-component-tests.ts create mode 100644 types/egjs-component/index.d.ts create mode 100644 types/egjs-component/tsconfig.json create mode 100644 types/egjs-component/tslint.json diff --git a/types/egjs-component/egjs-component-tests.ts b/types/egjs-component/egjs-component-tests.ts new file mode 100644 index 0000000000..010efdfb19 --- /dev/null +++ b/types/egjs-component/egjs-component-tests.ts @@ -0,0 +1,33 @@ +import * as Component from "@egjs/component"; + +class TestKlass extends Component { +} +let is = false; +const klass = new TestKlass(); +klass.options; + +is = klass.hasOn("click"); +klass.on("click", () => { +}); +klass.on({ + click1: () => { + }, + click2: e => { + } +}); +klass.once("click", () => { +}); +klass.once({ + click1: () => { + }, + click2: e => { + } +}); +klass.off("click", () => { +}); +klass.off("click"); +klass.off(); +is = klass.trigger("click"); +is = klass.trigger("click", { + test: 1 +}); diff --git a/types/egjs-component/index.d.ts b/types/egjs-component/index.d.ts new file mode 100644 index 0000000000..c55837c994 --- /dev/null +++ b/types/egjs-component/index.d.ts @@ -0,0 +1,22 @@ +// Type definitions for egjs-component 2.0 +// Project: https://github.com/naver/egjs-component +// Definitions by: Naver +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.4 + +export as namespace eg; + +export = Component; +declare class Component { + constructor(options?: { [key: string]: any }); + trigger(eventName: string, customEvent?: { [key: string]: any }): boolean; + hasOn(eventName: string): boolean; + on(eventName: string, handlerToAttach: (event: { [key: string]: any }) => any): Component; + on(events: { [key: string]: (event: { [key: string]: any }) => any }): Component; + off(eventName?: string, handlerToAttach?: (event: { [key: string]: any }) => any): Component; + once(events: { [key: string]: (event: { [key: string]: any }) => any }): Component; + once(eventName: string, handlerToAttach: (event: { [key: string]: any }) => any): Component; + options: { [key: string]: any }; +} + +declare module "@egjs/component"; diff --git a/types/egjs-component/tsconfig.json b/types/egjs-component/tsconfig.json new file mode 100644 index 0000000000..f7f1f33667 --- /dev/null +++ b/types/egjs-component/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": false, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "egjs-component-tests.ts" + ] +} diff --git a/types/egjs-component/tslint.json b/types/egjs-component/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/egjs-component/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } From 3b8bfbac95901f39ad2ccbe038ca4e65a1e6d90c Mon Sep 17 00:00:00 2001 From: sculove Date: Wed, 23 Aug 2017 10:42:33 +0900 Subject: [PATCH 2/5] change package name --- .../egjs__component-tests.ts} | 0 types/{egjs-component => egjs__component}/index.d.ts | 2 +- types/{egjs-component => egjs__component}/tsconfig.json | 2 +- types/{egjs-component => egjs__component}/tslint.json | 0 4 files changed, 2 insertions(+), 2 deletions(-) rename types/{egjs-component/egjs-component-tests.ts => egjs__component/egjs__component-tests.ts} (100%) rename types/{egjs-component => egjs__component}/index.d.ts (97%) rename types/{egjs-component => egjs__component}/tsconfig.json (92%) rename types/{egjs-component => egjs__component}/tslint.json (100%) diff --git a/types/egjs-component/egjs-component-tests.ts b/types/egjs__component/egjs__component-tests.ts similarity index 100% rename from types/egjs-component/egjs-component-tests.ts rename to types/egjs__component/egjs__component-tests.ts diff --git a/types/egjs-component/index.d.ts b/types/egjs__component/index.d.ts similarity index 97% rename from types/egjs-component/index.d.ts rename to types/egjs__component/index.d.ts index c55837c994..11bb11f0dc 100644 --- a/types/egjs-component/index.d.ts +++ b/types/egjs__component/index.d.ts @@ -2,7 +2,7 @@ // Project: https://github.com/naver/egjs-component // Definitions by: Naver // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.4 +// TypeScript Version: 2.2 export as namespace eg; diff --git a/types/egjs-component/tsconfig.json b/types/egjs__component/tsconfig.json similarity index 92% rename from types/egjs-component/tsconfig.json rename to types/egjs__component/tsconfig.json index f7f1f33667..673d99b5be 100644 --- a/types/egjs-component/tsconfig.json +++ b/types/egjs__component/tsconfig.json @@ -17,6 +17,6 @@ }, "files": [ "index.d.ts", - "egjs-component-tests.ts" + "egjs__component-tests.ts" ] } diff --git a/types/egjs-component/tslint.json b/types/egjs__component/tslint.json similarity index 100% rename from types/egjs-component/tslint.json rename to types/egjs__component/tslint.json From 2977b3791d4a1067a73ee84e70a67226c70915a8 Mon Sep 17 00:00:00 2001 From: sculove Date: Wed, 23 Aug 2017 13:57:07 +0900 Subject: [PATCH 3/5] add paths in tsconfig.json --- types/egjs__component/tsconfig.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/types/egjs__component/tsconfig.json b/types/egjs__component/tsconfig.json index 673d99b5be..e918f84a9e 100644 --- a/types/egjs__component/tsconfig.json +++ b/types/egjs__component/tsconfig.json @@ -18,5 +18,8 @@ "files": [ "index.d.ts", "egjs__component-tests.ts" - ] + ], + "paths":{ + "@egjs/component": ["egjs__component"] + } } From d5123861328e12e911339d2bb2933732060f88d1 Mon Sep 17 00:00:00 2001 From: sculove Date: Wed, 23 Aug 2017 13:59:58 +0900 Subject: [PATCH 4/5] add paths on compileOptions --- types/egjs__component/tsconfig.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/types/egjs__component/tsconfig.json b/types/egjs__component/tsconfig.json index e918f84a9e..b010a23eed 100644 --- a/types/egjs__component/tsconfig.json +++ b/types/egjs__component/tsconfig.json @@ -13,13 +13,13 @@ ], "types": [], "noEmit": true, - "forceConsistentCasingInFileNames": true + "forceConsistentCasingInFileNames": true, + "paths":{ + "@egjs/component": ["egjs__component"] + } }, "files": [ "index.d.ts", "egjs__component-tests.ts" - ], - "paths":{ - "@egjs/component": ["egjs__component"] - } + ] } From 10124ccd7ed6526f22a996749975ec81d753e95f Mon Sep 17 00:00:00 2001 From: sculove Date: Wed, 23 Aug 2017 14:24:35 +0900 Subject: [PATCH 5/5] add namespace and remove module --- types/egjs__component/index.d.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/types/egjs__component/index.d.ts b/types/egjs__component/index.d.ts index 11bb11f0dc..e52cbba65e 100644 --- a/types/egjs__component/index.d.ts +++ b/types/egjs__component/index.d.ts @@ -18,5 +18,13 @@ declare class Component { once(eventName: string, handlerToAttach: (event: { [key: string]: any }) => any): Component; options: { [key: string]: any }; } - -declare module "@egjs/component"; +declare namespace Component { + function trigger(eventName: string, customEvent?: { [key: string]: any }): boolean; + function hasOn(eventName: string): boolean; + function on(eventName: string, handlerToAttach: (event: { [key: string]: any }) => any): Component; + function on(events: { [key: string]: (event: { [key: string]: any }) => any }): Component; + function off(eventName?: string, handlerToAttach?: (event: { [key: string]: any }) => any): Component; + function once(events: { [key: string]: (event: { [key: string]: any }) => any }): Component; + function once(eventName: string, handlerToAttach: (event: { [key: string]: any }) => any): Component; + let options: { [key: string]: any }; +}