TypeScript layer for PhoneGap (Apache Cordova) version 3.4.0 and all core plugins
Quick links:
TypeScript definitions allow editing code with some degree of type checking and code completion. It saves time and eliminates bugs.
It turns out that simple .d.ts
is not enough, since Cordova API is
weird. So TypedPhoneGap provides a little JavaScript layer as
well. To see why it is worth it, consider for example how Cordova has
you write (with inappbrowser
plugin):
window.open('http://apache.org', '_blank', 'location=yes');
Here, what should go into options string? You do not know without reading the docs.
TypedPhoneGap, on the other hand, makes everything pleasantly typed:
import IAB = TypedPhoneGap.InAppBrowser;
var iab = IAB.getPlugin();
iab.openWindow('http://apache.org', IAB.Target.blank, {
location: true
});
You can examine Options
interface to see what is available. Also,
where possible, getPlugin
functions do checks and fire informative
exceptions when you forget to configure your application with a given
plugin.
Rewritten for version 3.4.0 and TypeScript 0.9.7. Currently testing, API subject to change.
Build the project with npm. In the root folder, do:
npm install
This should obtain three files:
build/TypedPhoneGap.d.ts
build/TypedPhoneGap.js
build/TypedPhoneGap.min.js
In your application, reference the .d.ts
for TypeScript development
and include the .js
or .min.js
after cordova.js
.
The project includes a command-line tool to help populate files in a
project generated by the cordova
tool. Synopsis:
cd myapp
npm install -g typedphonegap
typedphonegap install
This populates your project with:
www/js/TypedPhoneGap.js
www/js/TypedPhoneGap.min.js
www/typings/TypedPhoneGap.d.ts
All files are released under Apache 2.0 License.
Contributions are welcome, especially for testing the code on real-world examples.