Update DEVELOPER.md

This commit is contained in:
Tim Lancina 2016-03-10 19:29:05 -06:00
parent 58370afdf0
commit 787a027e3f

View File

@ -15,18 +15,14 @@ Let's take a look at the existing plugin wrapper for Geolocation to see what goe
export class Geolocation {
@Cordova()
static getCurrentPosition(options: GeolocationOptions){
return new Promise<Geoposition>((res, rej) => {});
}
static getCurrentPosition(options?: GeolocationOptions): Promise<Geoposition> { return }
@Cordova({
callbackOrder: 'reverse',
observable: true,
clearFunction: 'clearWatch'
})
static watchPosition(options: GeolocationOptions){
return new Observable<Geoposition>(observer => {});
}
static watchPosition(options?: GeolocationOptions): Observable<Geoposition> { return }
}
```
@ -68,11 +64,11 @@ Let's take a look at `getCurrentPosition` first.
```
@Cordova()
static getCurrentPosition(options: GeolocationOptions){
return new Promise<Geoposition>((res, rej) => {});
}
static getCurrentPosition(options: GeolocationOptions): Promise<Geoposition> { return }
```
It's just a stub. The `return` is only there to keep the TypeScript type-checker from complaining since we indicate the `getCurrentPosition` returns a `Promise<Geoposition>`.
By default, the `@Cordova` decorator wraps the plugin callbacks in a Promise that resolves when the success callback is called and rejects when the error callback is called. It also ensures that Cordova and the underlying plugin are available, and prints helpful diagnostics if they aren't.
You'll also notice that it is a static method. That's because the plugin class is just a utility class to call the underlying Cordova plugin methods, it's not an instance and has no state.
@ -85,9 +81,7 @@ Next, let's look at the `watchPosition` method.
observable: true,
clearFunction: 'clearWatch'
})
static watchPosition(options: GeolocationOptions){
return new Observable<Geoposition>(observer => {});
}
static watchPosition(options: GeolocationOptions): Observable<Geoposition> { return }
```
The `@Cordova` decorator has a few more options now.
@ -100,4 +94,4 @@ The `@Cordova` decorator has a few more options now.
### 'Wrapping' Up
That's it! The only thing left to do is rigorously document the plugin and it's usage. Take a look at some of the other plugins for good documentation styles.
That's it! The only thing left to do is rigorously document the plugin and it's usage. Take a look at some of the other plugins for good documentation styles.