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" }