CB-12369: Add plugin typings from DefinitelyTyped
This closes #53
diff --git a/package.json b/package.json
index 3457a51..a87f6cd 100644
--- a/package.json
+++ b/package.json
@@ -2,6 +2,7 @@
"name": "cordova-plugin-network-information",
"version": "1.3.2-dev",
"description": "Cordova Network Information Plugin",
+ "types": "./types/index.d.ts",
"cordova": {
"id": "cordova-plugin-network-information",
"platforms": [
diff --git a/types/index.d.ts b/types/index.d.ts
new file mode 100644
index 0000000..60b6c26
--- /dev/null
+++ b/types/index.d.ts
@@ -0,0 +1,62 @@
+// Type definitions for Apache Cordova Network Information plugin
+// Project: https://github.com/apache/cordova-plugin-network-information
+// 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
+
+interface Navigator {
+ /**
+ * This plugin provides an implementation of an old version of the Network Information API.
+ * It provides information about the device's cellular and wifi connection, and whether the device has an internet connection.
+ */
+ connection: Connection;
+ // see https://github.com/apache/cordova-plugin-network-information/blob/dev/doc/index.md#api-change
+ // for
+ network: {
+ /**
+ * This plugin provides an implementation of an old version of the Network Information API.
+ * It provides information about the device's cellular and wifi connection, and whether the device has an internet connection.
+ */
+ connection: Connection
+ }
+}
+
+interface Document {
+ addEventListener(type: "online", connectionStateCallback: () => any, useCapture?: boolean): void;
+ addEventListener(type: "offline", connectionStateCallback: () => any, useCapture?: boolean): void;
+}
+
+/**
+ * The connection object, exposed via navigator.connection, provides information
+ * about the device's cellular and wifi connection.
+ */
+interface Connection {
+ /**
+ * This property offers a fast way to determine the device's network connection state, and type of connection.
+ * One of:
+ * Connection.UNKNOWN
+ * Connection.ETHERNET
+ * Connection.WIFI
+ * Connection.CELL_2G
+ * Connection.CELL_3G
+ * Connection.CELL_4G
+ * Connection.CELL
+ * Connection.NONE
+ */
+ type: string;
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;
+}
+
+declare var Connection: {
+ UNKNOWN: string;
+ ETHERNET: string;
+ WIFI: string;
+ CELL_2G: string;
+ CELL_3G: string;
+ CELL_4G: string;
+ CELL: string;
+ NONE: string;
+}
\ No newline at end of file