diff --git a/src/plugins/sms.ts b/src/plugins/sms.ts index 4a0bbf3e55..be15d57daf 100644 --- a/src/plugins/sms.ts +++ b/src/plugins/sms.ts @@ -1,6 +1,4 @@ import {Plugin, Cordova} from './plugin'; -import {isInstalled} from "./plugin"; -import {pluginWarn} from "./plugin"; export interface smsOptions { @@ -22,15 +20,13 @@ export interface smsOptionsAndroid { } -declare var sms : any; - /** * * * Requires Cordova plugin: cordova-plugin-sms. For more info, please see the [SMS plugin docs](https://github.com/cordova-sms/cordova-sms-plugin). * * ``` - * cordova plugin add cordova-plugin-sms + * cordova plugin add https://github.com/cordova-sms/cordova-sms-plugin.git * ``` * * @usage @@ -40,25 +36,28 @@ declare var sms : any; * ``` */ @Plugin({ - plugin: 'cordova-plugin-sms', + plugin: 'https://github.com/cordova-sms/cordova-sms-plugin.git', pluginRef: 'sms' }) export class SMS { /** * Sends sms to a number - * @param number [number] Phone number + * @param number [string or array of strings] Phone number * @param message [string] Message * @param options [object] Options * @param options.replaceLineBreaks [boolean] Set to true to replace \n by a new line. Default: false * @param options.android.intent [string] Set to "INTENT" to send SMS with the native android SMS messaging. Leaving it empty will send the SMS without opening any app. * @returns {Promise} */ - static send(number : number, message : string, options : smsOptions) : Promise { - return new Promise((res, rej) => { - // TODO handle error in case plugin doesn't exist - sms.send(number, message, options, () => res(), (error : any) => rej(error)); - }); + @Cordova() + static send(number : any, message : string, options? : smsOptions) : Promise { + // This Promise is replaced by one from the @Cordova decorator that wraps + // the plugin's callbacks. We provide a dummy one here so TypeScript + // knows that the correct return type is Promise, because there's no way + // for it to know the return type from a decorator. + // See https://github.com/Microsoft/TypeScript/issues/4881 + return new Promise((res, rej) => {}); } }