HTTPS SSH

TypedPhoneGap

TypeScript layer for PhoneGap (Apache
Cordova
) version 3.4.0 and all core plugins

Quick links:

Motivation

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.

Status

Rewritten for version 3.4.0 and TypeScript 0.9.7. Currently testing,
API subject to change.

Building

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

Usage

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

License

All files are released under Apache 2.0 License.

Contributing

Contributions are welcome, especially for testing the code on
real-world examples.