[ 
https://issues.apache.org/jira/browse/CB-12941?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16635223#comment-16635223
 ] 

ASF GitHub Bot commented on CB-12941:
-------------------------------------

janpio closed pull request #267: CB-12941: update typings
URL: https://github.com/apache/cordova-plugin-inappbrowser/pull/267
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/types/index.d.ts b/types/index.d.ts
index ea3d3adba..3bac6707b 100644
--- a/types/index.d.ts
+++ b/types/index.d.ts
@@ -2,38 +2,13 @@
 // Project: https://github.com/apache/cordova-plugin-inappbrowser
 // Definitions by: Microsoft Open Technologies Inc <http://msopentech.com>
 // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
-// 
+//
 // Copyright (c) Microsoft Open Technologies Inc
 // Licensed under the MIT license.
+// TypeScript Version: 2.3
+type channel = "loadstart" | "loadstop" | "loaderror" | "exit";
 
 interface Window {
-    /**
-     * Opens a URL in a new InAppBrowser instance, the current browser 
instance, or the system browser.
-     * @param  url     The URL to load.
-     * @param  target  The target in which to load the URL, an optional 
parameter that defaults to _self.
-     * @param  options Options for the InAppBrowser. Optional, defaulting to: 
location=yes.
-     *                 The options string must not contain any blank space, 
and each feature's
-     *                 name/value pairs must be separated by a comma. Feature 
names are case insensitive.
-     */
-    open(url: string, target?: "_self", options?: string): InAppBrowser;
-    /**
-     * Opens a URL in a new InAppBrowser instance, the current browser 
instance, or the system browser.
-     * @param  url     The URL to load.
-     * @param  target  The target in which to load the URL, an optional 
parameter that defaults to _self.
-     * @param  options Options for the InAppBrowser. Optional, defaulting to: 
location=yes.
-     *                 The options string must not contain any blank space, 
and each feature's
-     *                 name/value pairs must be separated by a comma. Feature 
names are case insensitive.
-     */
-    open(url: string, target?: "_blank", options?: string): InAppBrowser;
-    /**
-     * Opens a URL in a new InAppBrowser instance, the current browser 
instance, or the system browser.
-     * @param  url     The URL to load.
-     * @param  target  The target in which to load the URL, an optional 
parameter that defaults to _self.
-     * @param  options Options for the InAppBrowser. Optional, defaulting to: 
location=yes.
-     *                 The options string must not contain any blank space, 
and each feature's
-     *                 name/value pairs must be separated by a comma. Feature 
names are case insensitive.
-     */
-    open(url: string, target?: "_system", options?: string): InAppBrowser;
     /**
      * Opens a URL in a new InAppBrowser instance, the current browser 
instance, or the system browser.
      * @param  url     The URL to load.
@@ -50,66 +25,21 @@ interface Window {
  * NOTE: The InAppBrowser window behaves like a standard web browser, and 
can't access Cordova APIs.
  */
 interface InAppBrowser extends Window {
-    onloadstart: (type: InAppBrowserEvent) => void;
-    onloadstop: (type: InAppBrowserEvent) => void;
-    onloaderror: (type: InAppBrowserEvent) => void;
-    onexit: (type: InAppBrowserEvent) => void;
+    onloadstart(type: Event): void;
+    onloadstop(type: InAppBrowserEvent): void;
+    onloaderror(type: InAppBrowserEvent): void;
+    onexit(type: InAppBrowserEvent): void;
     // addEventListener overloads
     /**
      * Adds a listener for an event from the InAppBrowser.
-     * @param type      the event to listen for
-     *                  loadstart: event fires when the InAppBrowser starts to 
load a URL.
-     *                  loadstop: event fires when the InAppBrowser finishes 
loading a URL.
-     *                  loaderror: event fires when the InAppBrowser 
encounters an error when loading a URL.
-     *                  exit: event fires when the InAppBrowser window is 
closed.
-     * @param callback  the function that executes when the event fires. The 
function is
-     *                  passed an InAppBrowserEvent object as a parameter.
-     */
-    addEventListener(type: "loadstart", callback: (event: InAppBrowserEvent) 
=> void): void;
-    /**
-     * Adds a listener for an event from the InAppBrowser.
-     * @param type      the event to listen for
-     *                  loadstart: event fires when the InAppBrowser starts to 
load a URL.
-     *                  loadstop: event fires when the InAppBrowser finishes 
loading a URL.
-     *                  loaderror: event fires when the InAppBrowser 
encounters an error when loading a URL.
-     *                  exit: event fires when the InAppBrowser window is 
closed.
-     * @param callback  the function that executes when the event fires. The 
function is
-     *                  passed an InAppBrowserEvent object as a parameter.
-     */
-    addEventListener(type: "loadstop", callback: (event: InAppBrowserEvent) => 
void): void;
-    /**
-     * Adds a listener for an event from the InAppBrowser.
-     * @param type      the event to listen for
-     *                  loadstart: event fires when the InAppBrowser starts to 
load a URL.
-     *                  loadstop: event fires when the InAppBrowser finishes 
loading a URL.
-     *                  loaderror: event fires when the InAppBrowser 
encounters an error when loading a URL.
-     *                  exit: event fires when the InAppBrowser window is 
closed.
-     * @param callback  the function that executes when the event fires. The 
function is
-     *                  passed an InAppBrowserEvent object as a parameter.
-     */
-    addEventListener(type: "loaderror", callback: (event: InAppBrowserEvent) 
=> void): void;
-    /**
-     * Adds a listener for an event from the InAppBrowser.
-     * @param type      the event to listen for
-     *                  loadstart: event fires when the InAppBrowser starts to 
load a URL.
+     * @param type      loadstart: event fires when the InAppBrowser starts to 
load a URL.
      *                  loadstop: event fires when the InAppBrowser finishes 
loading a URL.
      *                  loaderror: event fires when the InAppBrowser 
encounters an error when loading a URL.
      *                  exit: event fires when the InAppBrowser window is 
closed.
      * @param callback  the function that executes when the event fires. The 
function is
      *                  passed an InAppBrowserEvent object as a parameter.
      */
-    addEventListener(type: "exit", callback: (event: InAppBrowserEvent) => 
void): void;
-    /**
-     * Adds a listener for an event from the InAppBrowser.
-     * @param type      the event to listen for
-     *                  loadstart: event fires when the InAppBrowser starts to 
load a URL.
-     *                  loadstop: event fires when the InAppBrowser finishes 
loading a URL.
-     *                  loaderror: event fires when the InAppBrowser 
encounters an error when loading a URL.
-     *                  exit: event fires when the InAppBrowser window is 
closed.
-     * @param callback  the function that executes when the event fires. The 
function is
-     *                  passed an Event object as a parameter.
-     */
-    addEventListener(type: string, callback: (event: Event) => void): void;
+    addEventListener(type: channel, callback: 
InAppBrowserEventListenerOrEventListenerObject): void;
     // removeEventListener overloads
     /**
      * Removes a listener for an event from the InAppBrowser.
@@ -121,51 +51,7 @@ interface InAppBrowser extends Window {
      * @param callback  the function that executes when the event fires. The 
function is
      *                  passed an InAppBrowserEvent object as a parameter.
      */
-    removeEventListener(type: "loadstart", callback: (event: 
InAppBrowserEvent) => void): void;
-    /**
-     * Removes a listener for an event from the InAppBrowser.
-     * @param type      The event to stop listening for.
-     *                  loadstart: event fires when the InAppBrowser starts to 
load a URL.
-     *                  loadstop: event fires when the InAppBrowser finishes 
loading a URL.
-     *                  loaderror: event fires when the InAppBrowser 
encounters an error when loading a URL.
-     *                  exit: event fires when the InAppBrowser window is 
closed.
-     * @param callback  the function that executes when the event fires. The 
function is
-     *                  passed an InAppBrowserEvent object as a parameter.
-     */
-    removeEventListener(type: "loadstop", callback: (event: InAppBrowserEvent) 
=> void): void;
-    /**
-     * Removes a listener for an event from the InAppBrowser.
-     * @param type      The event to stop listening for.
-     *                  loadstart: event fires when the InAppBrowser starts to 
load a URL.
-     *                  loadstop: event fires when the InAppBrowser finishes 
loading a URL.
-     *                  loaderror: event fires when the InAppBrowser 
encounters an error when loading a URL.
-     *                  exit: event fires when the InAppBrowser window is 
closed.
-     * @param callback  the function that executes when the event fires. The 
function is
-     *                  passed an InAppBrowserEvent object as a parameter.
-     */
-    removeEventListener(type: "loaderror", callback: (event: 
InAppBrowserEvent) => void): void;
-    /**
-     * Removes a listener for an event from the InAppBrowser.
-     * @param type      The event to stop listening for.
-     *                  loadstart: event fires when the InAppBrowser starts to 
load a URL.
-     *                  loadstop: event fires when the InAppBrowser finishes 
loading a URL.
-     *                  loaderror: event fires when the InAppBrowser 
encounters an error when loading a URL.
-     *                  exit: event fires when the InAppBrowser window is 
closed.
-     * @param callback  the function that executes when the event fires. The 
function is
-     *                  passed an InAppBrowserEvent object as a parameter.
-     */
-    removeEventListener(type: "exit", callback: (event: InAppBrowserEvent) => 
void): void;
-    /**
-     * Removes a listener for an event from the InAppBrowser.
-     * @param type      The event to stop listening for.
-     *                  loadstart: event fires when the InAppBrowser starts to 
load a URL.
-     *                  loadstop: event fires when the InAppBrowser finishes 
loading a URL.
-     *                  loaderror: event fires when the InAppBrowser 
encounters an error when loading a URL.
-     *                  exit: event fires when the InAppBrowser window is 
closed.
-     * @param callback  the function that executes when the event fires. The 
function is
-     *                  passed an Event object as a parameter.
-     */
-    removeEventListener(type: string, callback: (event: Event) => void): void;
+    removeEventListener(type: channel, callback: 
InAppBrowserEventListenerOrEventListenerObject): void;
     /** Closes the InAppBrowser window. */
     close(): void;
     /** Hides the InAppBrowser window. Calling this has no effect if the 
InAppBrowser was already hidden. */
@@ -184,29 +70,21 @@ interface InAppBrowser extends Window {
      *                  For multi-line scripts, this is the return value of 
the last statement,
      *                  or the last expression evaluated.
      */
-    executeScript(script: { code: string }, callback: (result: any) => void): 
void;
-    /**
-     * Injects JavaScript code into the InAppBrowser window.
-     * @param script    Details of the script to run, specifying either a file 
or code key.
-     * @param callback  The function that executes after the JavaScript code 
is injected.
-     *                  If the injected script is of type code, the callback 
executes with
-     *                  a single parameter, which is the return value of the 
script, wrapped in an Array.
-     *                  For multi-line scripts, this is the return value of 
the last statement,
-     *                  or the last expression evaluated.
-     */
-    executeScript(script: { file: string }, callback: (result: any) => void): 
void;
-    /**
-     * Injects CSS into the InAppBrowser window.
-     * @param css       Details of the script to run, specifying either a file 
or code key.
-     * @param callback  The function that executes after the CSS is injected.
-     */
-    insertCSS(css: { code: string }, callback: () => void): void;
+    executeScript(script: { code: string } | { file: string }, callback: 
(result: any) => void): void;
     /**
      * Injects CSS into the InAppBrowser window.
      * @param css       Details of the script to run, specifying either a file 
or code key.
      * @param callback  The function that executes after the CSS is injected.
      */
-    insertCSS(css: { file: string }, callback: () => void): void;
+    insertCSS(css: { code: string } | { file: string }, callback: () => void): 
void;
+}
+
+type InAppBrowserEventListenerOrEventListenerObject = 
InAppBrowserEventListener | InAppBrowserEventListenerObject;
+
+type InAppBrowserEventListener = (evt: InAppBrowserEvent) => void;
+
+interface InAppBrowserEventListenerObject {
+    handleEvent(evt: InAppBrowserEvent): void;
 }
 
 interface InAppBrowserEvent extends Event {
@@ -218,4 +96,8 @@ interface InAppBrowserEvent extends Event {
     code: number;
     /** the error message, only in the case of loaderror. */
     message: string;
-}
\ No newline at end of file
+}
+
+interface Cordova {
+    InAppBrowser: InAppBrowser;
+}


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Update typings to latest DefinitelyTyped revision
> -------------------------------------------------
>
>                 Key: CB-12941
>                 URL: https://issues.apache.org/jira/browse/CB-12941
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: cordova-plugin-inappbrowser
>            Reporter: Tim Brust
>            Priority: Major
>              Labels: inappbrowser, plugins, typescript, typings
>
> Update the typings in the cordova-plugin-inappbrowser to match the current 
> revision published via DefinitelyTyped.
> This fixes e.g. this issue: https://stackoverflow.com/q/42095516/1902598
> DefinitelyTyped PR: 
> https://github.com/DefinitelyTyped/DefinitelyTyped/pull/17192



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to