refactor(lib): run prettier

This commit is contained in:
Daniel Sogl 2020-05-16 14:40:49 +02:00
parent f5133c691d
commit 511a02d50b
326 changed files with 3079 additions and 4092 deletions

View File

@ -2,15 +2,14 @@
This is a short guide on creating new plugin wrappers for Ionic Native. This is a short guide on creating new plugin wrappers for Ionic Native.
## Creating Plugin Wrappers ## Creating Plugin Wrappers
First, let's start by creating a new plugin wrapper from template. First, let's start by creating a new plugin wrapper from template.
``` ```
// Call this command, and replace PluginName with the name of the plugin you wish to add // Call this command, and replace PluginName with the name of the plugin you wish to add
// Make sure to capitalize the first letter, or use CamelCase if necessary. // Make sure to capitalize the first letter, or use CamelCase if necessary.
gulp plugin:create -n PluginName gulp plugin:create -n PluginName
// add -m flag to get a minimal template to start with // add -m flag to get a minimal template to start with
@ -71,7 +70,7 @@ export class Geolocation {
Here, `plugin` is the name of the plugin package on npm and used when calling `cordova plugin add`. Here, `plugin` is the name of the plugin package on npm and used when calling `cordova plugin add`.
`pluginRef` refers to the where on `window` the underlying Cordova plugin is normally exposed. For example, in the case of the Cordova Geolocation plugin, normally you would make calls like `window.navigator.geolocation.getCurrentPosition({}, success, error)`, so the `pluginRef` in this case is `navigator.geolocation`. `pluginRef` refers to the where on `window` the underlying Cordova plugin is normally exposed. For example, in the case of the Cordova Geolocation plugin, normally you would make calls like `window.navigator.geolocation.getCurrentPosition({}, success, error)`, so the `pluginRef` in this case is `navigator.geolocation`.
#### Class Methods #### Class Methods
@ -86,7 +85,7 @@ Let's take a look at `getCurrentPosition` first.
It's just a stub. The `return` is only there to keep the TypeScript type-checker from complaining since we indicate that `getCurrentPosition` returns a `Promise<Geoposition>`. It's just a stub. The `return` is only there to keep the TypeScript type-checker from complaining since we indicate that `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. 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.
Next, let's look at the `watchPosition` method. Next, let's look at the `watchPosition` method.
@ -103,7 +102,7 @@ The `@Cordova` decorator has a few more options now.
`observable` indicates that this method may call its callbacks multiple times, so `@Cordova` wraps it in an [`Observable`](https://github.com/ionic-team/ionic-native#promises-and-observables) instead of a Promise. `observable` indicates that this method may call its callbacks multiple times, so `@Cordova` wraps it in an [`Observable`](https://github.com/ionic-team/ionic-native#promises-and-observables) instead of a Promise.
`callbackOrder` refers to the method signature of the underlying Cordova plugin, and tells Ionic Native which arguments are the callbacks to map to the wrapping Promise or Observable. In this case, the signature is [`watchPosition(success, error, options)`](https://github.com/apache/cordova-plugin-geolocation#navigatorgeolocationwatchposition), so we need to tell `@Cordova` that the callbacks are the first arguments, not the last arguments. For rare cases, you can also specify the options `successIndex` and `errorIndex` to indicate where in the argument list the callbacks are located. `callbackOrder` refers to the method signature of the underlying Cordova plugin, and tells Ionic Native which arguments are the callbacks to map to the wrapping Promise or Observable. In this case, the signature is [`watchPosition(success, error, options)`](https://github.com/apache/cordova-plugin-geolocation#navigatorgeolocationwatchposition), so we need to tell `@Cordova` that the callbacks are the first arguments, not the last arguments. For rare cases, you can also specify the options `successIndex` and `errorIndex` to indicate where in the argument list the callbacks are located.
`clearFunction` is used in conjunction with the `observable` option and indicates the function to be called when the Observable is disposed. `clearFunction` is used in conjunction with the `observable` option and indicates the function to be called when the Observable is disposed.
@ -126,42 +125,48 @@ We have very precise rules over how our git commit messages can be formatted. Th
`type(scope): subject` `type(scope): subject`
#### Type #### Type
Must be one of the following: Must be one of the following:
* **fix**: A bug fix - **fix**: A bug fix
* **feat**: A new feature - **feat**: A new feature
* **docs**: Documentation only changes - **docs**: Documentation only changes
* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) - **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
* **refactor**: A code change that neither fixes a bug nor adds a feature - **refactor**: A code change that neither fixes a bug nor adds a feature
* **perf**: A code change that improves performance - **perf**: A code change that improves performance
* **test**: Adding missing tests - **test**: Adding missing tests
* **chore**: Changes to the build process or auxiliary tools and libraries such as documentation generation - **chore**: Changes to the build process or auxiliary tools and libraries such as documentation generation
#### Scope #### Scope
The scope could be anything specifying place of the commit change. For example, the name of the plugin being changed The scope could be anything specifying place of the commit change. For example, the name of the plugin being changed
#### Subject #### Subject
The subject contains succinct description of the change: The subject contains succinct description of the change:
* use the imperative, present tense: "change" not "changed" nor "changes" - use the imperative, present tense: "change" not "changed" nor "changes"
* do not capitalize first letter - do not capitalize first letter
* do not place a period (.) at the end - do not place a period (.) at the end
* entire length of the commit message must not go over 50 characters - entire length of the commit message must not go over 50 characters
### Ionic Native Decorators ### Ionic Native Decorators
#### Plugin #### Plugin
A decorator to wrap the main plugin class, and any other classes that will use `@Cordova` or `@CordovaProperty` decorators. This decorator accepts the following configuration: A decorator to wrap the main plugin class, and any other classes that will use `@Cordova` or `@CordovaProperty` decorators. This decorator accepts the following configuration:
- *pluginName*: Plugin name, this should match the class name
- *plugin*: The plugin's NPM package, or Github URL if NPM is not available. - _pluginName_: Plugin name, this should match the class name
- *pluginRef*: The plugin object reference. Example: 'cordova.file'. - _plugin_: The plugin's NPM package, or Github URL if NPM is not available.
- *repo*: The plugin's Github Repository URL - _pluginRef_: The plugin object reference. Example: 'cordova.file'.
- *install*: (optional) Install command. This is used in case a plugin has a custom install command (takes variables). - _repo_: The plugin's Github Repository URL
- *platforms*: An array of strings indicating the supported platforms. - _install_: (optional) Install command. This is used in case a plugin has a custom install command (takes variables).
- _platforms_: An array of strings indicating the supported platforms.
#### Cordova #### Cordova
Checks if the plugin and the method are available before executing. By default, the decorator will wrap the callbacks of the function and return a Promise. This decorator takes the following configuration options: Checks if the plugin and the method are available before executing. By default, the decorator will wrap the callbacks of the function and return a Promise. This decorator takes the following configuration options:
- **observable**: set to true to return an Observable - **observable**: set to true to return an Observable
- **clearFunction**: an optional name of a method to clear the observable we returned - **clearFunction**: an optional name of a method to clear the observable we returned
- **clearWithArgs**: This can be used if clearFunction is set. Set this to true to call the clearFunction with the same arguments used in the initial function. - **clearWithArgs**: This can be used if clearFunction is set. Set this to true to call the clearFunction with the same arguments used in the initial function.
@ -179,6 +184,7 @@ Checks if the plugin and the method are available before executing. By default,
- **platforms**: array of strings indicating supported platforms. Specify this if the supported platforms doesn't match the plugin's supported platforms. - **platforms**: array of strings indicating supported platforms. Specify this if the supported platforms doesn't match the plugin's supported platforms.
Example: Example:
```ts ```ts
@Cordova() @Cordova()
someMethod(): Promise<any> { return; } someMethod(): Promise<any> { return; }
@ -188,20 +194,25 @@ syncMethod(): number { }
``` ```
#### CordovaProperty #### CordovaProperty
Checks if the plugin and property exist before getting/setting the property's value Checks if the plugin and property exist before getting/setting the property's value
Example: Example:
```ts ```ts
@CordovaProperty() @CordovaProperty()
someProperty: string; someProperty: string;
``` ```
#### CordovaCheck #### CordovaCheck
Checks if the plugin exists before performing a custom written method. By default, the method will return a promise that will reject with an error if the plugin is not available. This wrapper accepts two optional configurations:
Checks if the plugin exists before performing a custom written method. By default, the method will return a promise that will reject with an error if the plugin is not available. This wrapper accepts two optional configurations:
- **observable**: set to true to return an empty Observable if the plugin isn't available - **observable**: set to true to return an empty Observable if the plugin isn't available
- **sync**: set to true to return nothing if the plugin isn't available - **sync**: set to true to return nothing if the plugin isn't available
Example: Example:
```ts ```ts
@CordovaCheck() @CordovaCheck()
someMethod(): Promise<any> { someMethod(): Promise<any> {
@ -210,9 +221,11 @@ someMethod(): Promise<any> {
``` ```
#### CordovaFunctionOverride #### CordovaFunctionOverride
Wrap a stub function in a call to a Cordova plugin, checking if both Cordova and the required plugin are installed. Wrap a stub function in a call to a Cordova plugin, checking if both Cordova and the required plugin are installed.
Example: Example:
```ts ```ts
@CordovaFunctionOverride() @CordovaFunctionOverride()
someMethod(): Observable<any> { return; } someMethod(): Observable<any> { return; }

View File

@ -27,7 +27,8 @@ For the full Ionic Native documentation, please visit [https://ionicframework.co
### Basic Usage ### Basic Usage
#### Ionic/Angular apps #### Ionic/Angular apps
To use a plugin, import and add the plugin provider to your `@NgModule`, and then inject it where you wish to use it.
To use a plugin, import and add the plugin provider to your `@NgModule`, and then inject it where you wish to use it.
Make sure to import the injectable class from the `/ngx` directory as shown in the following examples: Make sure to import the injectable class from the `/ngx` directory as shown in the following examples:
```typescript ```typescript
@ -98,7 +99,7 @@ npm install phonegap-plugin-barcodescanner
ionic cap sync ionic cap sync
``` ```
Import the plugin object then use its static methods: Import the plugin object then use its static methods:
```typescript ```typescript
import { BarcodeScanner } from '@ionic-native/barcode-scanner'; import { BarcodeScanner } from '@ionic-native/barcode-scanner';
@ -124,60 +125,62 @@ const Tab1: React.FC = () => {
``` ```
#### ES2015+/TypeScript #### ES2015+/TypeScript
These modules can work in any ES2015+/TypeScript app (including Angular/Ionic apps). To use any plugin, import the class from the appropriate package, and use it's static methods. These modules can work in any ES2015+/TypeScript app (including Angular/Ionic apps). To use any plugin, import the class from the appropriate package, and use it's static methods.
```js ```js
import { Camera } from '@ionic-native/camera'; import { Camera } from '@ionic-native/camera';
document.addEventListener('deviceready', () => { document.addEventListener('deviceready', () => {
Camera.getPicture() Camera.getPicture()
.then((data) => console.log('Took a picture!', data)) .then(data => console.log('Took a picture!', data))
.catch((e) => console.log('Error occurred while taking a picture', e)); .catch(e => console.log('Error occurred while taking a picture', e));
}); });
``` ```
#### AngularJS #### AngularJS
Ionic Native generates an AngularJS module in runtime and prepares a service for each plugin. To use the plugins in your AngularJS app: Ionic Native generates an AngularJS module in runtime and prepares a service for each plugin. To use the plugins in your AngularJS app:
1. Download the latest bundle from the [Github releases](https://github.com/ionic-team/ionic-native/releases) page. 1. Download the latest bundle from the [Github releases](https://github.com/ionic-team/ionic-native/releases) page.
2. Include it in `index.html` before your app's code. 2. Include it in `index.html` before your app's code.
3. Inject `ionic.native` module in your app. 3. Inject `ionic.native` module in your app.
4. Inject any plugin you would like to use with a `$cordova` prefix. 4. Inject any plugin you would like to use with a `$cordova` prefix.
```js ```js
angular.module('myApp', ['ionic.native']) angular.module('myApp', ['ionic.native']).controller('MyPageController', function ($cordovaCamera) {
.controller('MyPageController', function($cordovaCamera) { $cordovaCamera.getPicture().then(
$cordovaCamera.getPicture() function (data) {
.then( console.log('Took a picture!', data);
function(data) { },
console.log('Took a picture!', data); function (err) {
}, console.log('Error occurred while taking a picture', err);
function(err) { }
console.log('Error occurred while taking a picture', err); );
} });
);
});
``` ```
#### Vanilla JS #### Vanilla JS
To use Ionic Native in any other setup: To use Ionic Native in any other setup:
1. Download the latest bundle from the [Github releases](https://github.com/ionic-team/ionic-native/releases) page. 1. Download the latest bundle from the [Github releases](https://github.com/ionic-team/ionic-native/releases) page.
2. Include it in `index.html` before your app's code. 2. Include it in `index.html` before your app's code.
3. Access any plugin using the global `IonicNative` variable. 3. Access any plugin using the global `IonicNative` variable.
```js ```js
document.addEventListener('deviceready', function() { document.addEventListener('deviceready', function () {
IonicNative.Camera.getPicture() IonicNative.Camera.getPicture().then(
.then( function (data) {
function(data) { console.log('Took a picture!', data);
console.log('Took a picture!', data); },
}, function (err) {
function(err) { console.log('Error occurred while taking a picture', err);
console.log('Error occurred while taking a picture', err); }
} );
);
}); });
``` ```
### Mocking and Browser Development (Ionic/Angular apps only) ### Mocking and Browser Development (Ionic/Angular apps only)
Ionic Native makes it possible to mock plugins and develop nearly the entirety of your app in the browser or in `ionic serve`. Ionic Native makes it possible to mock plugins and develop nearly the entirety of your app in the browser or in `ionic serve`.
@ -237,8 +240,8 @@ class CameraMock extends Camera {
entryComponents: [MyApp, HomePage], entryComponents: [MyApp, HomePage],
providers: [ providers: [
{ provide: ErrorHandler, useClass: IonicErrorHandler }, { provide: ErrorHandler, useClass: IonicErrorHandler },
{ provide: Camera, useClass: CameraMock } { provide: Camera, useClass: CameraMock },
] ],
}) })
export class AppModule {} export class AppModule {}
``` ```
@ -253,7 +256,6 @@ Spent way too long diagnosing an issue only to realize a plugin wasn't firing or
Let us know or submit a PR! Take a look at [the Developer Guide](https://github.com/ionic-team/ionic-native/blob/master/DEVELOPER.md) for more on how to contribute. :heart: Let us know or submit a PR! Take a look at [the Developer Guide](https://github.com/ionic-team/ionic-native/blob/master/DEVELOPER.md) for more on how to contribute. :heart:
# Credits # Credits
Ibby Hadeed - [@ihadeed](https://github.com/ihadeed) Ibby Hadeed - [@ihadeed](https://github.com/ihadeed)

View File

@ -11,7 +11,7 @@ const flagConfig = {
string: ['port', 'version', 'ngVersion', 'animations'], string: ['port', 'version', 'ngVersion', 'animations'],
boolean: ['dry-run'], boolean: ['dry-run'],
alias: { p: 'port', v: 'version', a: 'ngVersion' }, alias: { p: 'port', v: 'version', a: 'ngVersion' },
default: { port: 8000 } default: { port: 8000 },
}, },
flags = minimist(process.argv.slice(2), flagConfig); flags = minimist(process.argv.slice(2), flagConfig);
@ -24,7 +24,7 @@ gulp.task('lint', () => {
.pipe( .pipe(
tslint({ tslint({
formatter: 'verbose', formatter: 'verbose',
configuration: 'tslint.json' configuration: 'tslint.json',
}) })
) )
.pipe(tslint.report()); .pipe(tslint.report());

View File

@ -18,7 +18,11 @@ export function getDecorator(node: ts.Node, index = 0): ts.Decorator {
} }
export function hasDecorator(decoratorName: string, node: ts.Node): boolean { export function hasDecorator(decoratorName: string, node: ts.Node): boolean {
return node.decorators && node.decorators.length && node.decorators.findIndex(d => getDecoratorName(d) === decoratorName) > -1; return (
node.decorators &&
node.decorators.length &&
node.decorators.findIndex(d => getDecoratorName(d) === decoratorName) > -1
);
} }
export function getDecoratorName(decorator: any) { export function getDecoratorName(decorator: any) {
@ -96,9 +100,11 @@ export function convertValueToLiteral(val: any) {
* @returns Typescript Object Literal Expression * @returns Typescript Object Literal Expression
*/ */
function objectToObjectLiteral(obj: { [key: string]: any }): ts.ObjectLiteralExpression { function objectToObjectLiteral(obj: { [key: string]: any }): ts.ObjectLiteralExpression {
const newProperties: ts.ObjectLiteralElementLike[] = Object.keys(obj).map((key: string): ts.ObjectLiteralElementLike => { const newProperties: ts.ObjectLiteralElementLike[] = Object.keys(obj).map(
return ts.createPropertyAssignment(ts.createLiteral(key), convertValueToLiteral(obj[key]) as ts.Expression); (key: string): ts.ObjectLiteralElementLike => {
}); return ts.createPropertyAssignment(ts.createLiteral(key), convertValueToLiteral(obj[key]) as ts.Expression);
}
);
return ts.createObjectLiteral(newProperties); return ts.createObjectLiteral(newProperties);
} }
@ -116,10 +122,14 @@ function arrayToArrayLiteral(list: any[]): ts.ArrayLiteralExpression {
export function getMethodsForDecorator(decoratorName: string) { export function getMethodsForDecorator(decoratorName: string) {
switch (decoratorName) { switch (decoratorName) {
case 'CordovaProperty': return ['cordovaPropertyGet', 'cordovaPropertySet']; case 'CordovaProperty':
case 'InstanceProperty': return ['instancePropertyGet', 'instancePropertySet']; return ['cordovaPropertyGet', 'cordovaPropertySet'];
case 'CordovaCheck': return ['checkAvailability']; case 'InstanceProperty':
case 'InstanceCheck': return ['instanceAvailability']; return ['instancePropertyGet', 'instancePropertySet'];
case 'CordovaCheck':
return ['checkAvailability'];
case 'InstanceCheck':
return ['instanceAvailability'];
} }
return [camelCase(decoratorName)]; return [camelCase(decoratorName)];

View File

@ -27,7 +27,7 @@ export function getProgram(rootNames: string[] = createSourceFiles()) {
return createProgram({ return createProgram({
rootNames, rootNames,
options, options,
host host,
}); });
} }
@ -37,7 +37,7 @@ export function transpileNgxCore() {
emitFlags: EmitFlags.Metadata, emitFlags: EmitFlags.Metadata,
emitCallback: ({ program, writeFile, customTransformers, cancellationToken, targetSourceFile }) => { emitCallback: ({ program, writeFile, customTransformers, cancellationToken, targetSourceFile }) => {
return program.emit(targetSourceFile, writeFile, cancellationToken, true, customTransformers); return program.emit(targetSourceFile, writeFile, cancellationToken, true, customTransformers);
} },
}); });
} }
@ -45,11 +45,8 @@ export function transpileNgx() {
getProgram().emit({ getProgram().emit({
emitFlags: EmitFlags.Metadata, emitFlags: EmitFlags.Metadata,
customTransformers: { customTransformers: {
beforeTs: [ beforeTs: [importsTransformer(true), pluginClassTransformer(true)],
importsTransformer(true), },
pluginClassTransformer(true)
]
}
}); });
} }
@ -60,28 +57,31 @@ export function generateDeclarationFiles() {
// remove reference to @ionic-native/core decorators // remove reference to @ionic-native/core decorators
export function modifyMetadata() { export function modifyMetadata() {
debugger; debugger;
PLUGIN_PATHS.map(p => p.replace(path.join(ROOT, 'src'), path.join(ROOT, 'dist')).replace('index.ts', 'ngx/index.metadata.json')) PLUGIN_PATHS.map(p =>
.forEach(p => { p.replace(path.join(ROOT, 'src'), path.join(ROOT, 'dist')).replace('index.ts', 'ngx/index.metadata.json')
const content = fs.readJSONSync(p); ).forEach(p => {
let _prop: { members: { [x: string]: any[]; }; }; const content = fs.readJSONSync(p);
for (const prop in content[0].metadata) { let _prop: { members: { [x: string]: any[] } };
_prop = content[0].metadata[prop]; for (const prop in content[0].metadata) {
removeIonicNativeDecorators(_prop); _prop = content[0].metadata[prop];
removeIonicNativeDecorators(_prop);
if (_prop.members) { if (_prop.members) {
for (const memberProp in _prop.members) { for (const memberProp in _prop.members) {
removeIonicNativeDecorators(_prop.members[memberProp][0]); removeIonicNativeDecorators(_prop.members[memberProp][0]);
}
} }
} }
}
fs.writeJSONSync(p, content); fs.writeJSONSync(p, content);
}); });
} }
function removeIonicNativeDecorators(node: any) { function removeIonicNativeDecorators(node: any) {
if (node.decorators && node.decorators.length) { if (node.decorators && node.decorators.length) {
node.decorators = node.decorators.filter((d: { expression: { module: string; }; }) => d.expression.module !== '@ionic-native/core'); node.decorators = node.decorators.filter(
(d: { expression: { module: string } }) => d.expression.module !== '@ionic-native/core'
);
} }
if (node.decorators && !node.decorators.length) delete node.decorators; if (node.decorators && !node.decorators.length) delete node.decorators;
@ -102,7 +102,5 @@ function createSourceFiles(): string[] {
} }
export function cleanupNgx() { export function cleanupNgx() {
PLUGIN_PATHS.forEach((indexPath: string) => PLUGIN_PATHS.forEach((indexPath: string) => rimraf.sync(indexPath.replace('index.ts', 'ngx')));
rimraf.sync(indexPath.replace('index.ts', 'ngx'))
);
} }

View File

@ -37,7 +37,7 @@ export function extractInjectables() {
injectableClasses.push({ injectableClasses.push({
file: tsSourceFile.path, file: tsSourceFile.path,
className: (node as ts.ClassDeclaration).name.text, className: (node as ts.ClassDeclaration).name.text,
dirName: tsSourceFile.path.split(/[\\\/]+/).reverse()[1] dirName: tsSourceFile.path.split(/[\\\/]+/).reverse()[1],
}); });
} }
}, },

View File

@ -4,7 +4,9 @@ import { getMethodsForDecorator } from '../helpers';
function transformImports(file: ts.SourceFile, ctx: ts.TransformationContext, ngcBuild?: boolean) { function transformImports(file: ts.SourceFile, ctx: ts.TransformationContext, ngcBuild?: boolean) {
// remove angular imports // remove angular imports
if (!ngcBuild) { if (!ngcBuild) {
file.statements = (file.statements as any).filter((s: any) => !(s.kind === ts.SyntaxKind.ImportDeclaration && s.moduleSpecifier.text === '@angular/core')); file.statements = (file.statements as any).filter(
(s: any) => !(s.kind === ts.SyntaxKind.ImportDeclaration && s.moduleSpecifier.text === '@angular/core')
);
} }
// find the @ionic-native/core import statement // find the @ionic-native/core import statement
@ -19,9 +21,9 @@ function transformImports(file: ts.SourceFile, ctx: ts.TransformationContext, ng
const decoratorRegex: RegExp = /@([a-zA-Z]+)\(/g; const decoratorRegex: RegExp = /@([a-zA-Z]+)\(/g;
const ignored: string [] = ['Plugin', 'Component', 'Injectable']; const ignored: string[] = ['Plugin', 'Component', 'Injectable'];
const keep: string [] = ['getPromise', 'checkAvailability']; const keep: string[] = ['getPromise', 'checkAvailability'];
let m; let m;
@ -35,17 +37,17 @@ function transformImports(file: ts.SourceFile, ctx: ts.TransformationContext, ng
if (decorators.length) { if (decorators.length) {
let methods = []; let methods = [];
decorators.forEach(d => methods = getMethodsForDecorator(d).concat(methods)); decorators.forEach(d => (methods = getMethodsForDecorator(d).concat(methods)));
const methodElements = methods.map(m => ts.createIdentifier(m)); const methodElements = methods.map(m => ts.createIdentifier(m));
const methodNames = methodElements.map((el) => el.escapedText); const methodNames = methodElements.map(el => el.escapedText);
importStatement.importClause.namedBindings.elements = [ importStatement.importClause.namedBindings.elements = [
ts.createIdentifier('IonicNativePlugin'), ts.createIdentifier('IonicNativePlugin'),
...methodElements, ...methodElements,
...importStatement.importClause.namedBindings.elements.filter( ...importStatement.importClause.namedBindings.elements.filter(
el => keep.indexOf(el.name.text) !== -1 && methodNames.indexOf(el.name.text) === -1 el => keep.indexOf(el.name.text) !== -1 && methodNames.indexOf(el.name.text) === -1
) ),
]; ];
if (ngcBuild) { if (ngcBuild) {
@ -53,7 +55,7 @@ function transformImports(file: ts.SourceFile, ctx: ts.TransformationContext, ng
binding => { binding => {
if (binding.escapedText) { if (binding.escapedText) {
binding.name = { binding.name = {
text: binding.escapedText text: binding.escapedText,
}; };
} }
return binding; return binding;

View File

@ -31,7 +31,3 @@ export function transformMembers(cls: ts.ClassDeclaration) {
return members; return members;
} }

View File

@ -1,6 +1,12 @@
import * as ts from 'typescript'; import * as ts from 'typescript';
import { Logger } from '../../logger'; import { Logger } from '../../logger';
import { convertValueToLiteral, getDecorator, getDecoratorArgs, getDecoratorName, getMethodsForDecorator } from '../helpers'; import {
convertValueToLiteral,
getDecorator,
getDecoratorArgs,
getDecoratorName,
getMethodsForDecorator,
} from '../helpers';
export function transformMethod(method: ts.MethodDeclaration) { export function transformMethod(method: ts.MethodDeclaration) {
if (!method) return; if (!method) return;
@ -10,11 +16,17 @@ export function transformMethod(method: ts.MethodDeclaration) {
decoratorArgs = getDecoratorArgs(decorator); decoratorArgs = getDecoratorArgs(decorator);
try { try {
return ts.createMethod(undefined, undefined, undefined, method.name, undefined, method.typeParameters, method.parameters, method.type, ts.createBlock([ return ts.createMethod(
ts.createReturn( undefined,
getMethodBlock(method, decoratorName, decoratorArgs) undefined,
) undefined,
])); method.name,
undefined,
method.typeParameters,
method.parameters,
method.type,
ts.createBlock([ts.createReturn(getMethodBlock(method, decoratorName, decoratorArgs))])
);
} catch (e) { } catch (e) {
Logger.error('Error transforming method: ' + (method.name as any).text); Logger.error('Error transforming method: ' + (method.name as any).text);
Logger.error(e.message); Logger.error(e.message);
@ -28,22 +40,23 @@ function getMethodBlock(method: ts.MethodDeclaration, decoratorName: string, dec
case 'CordovaCheck': case 'CordovaCheck':
case 'InstanceCheck': case 'InstanceCheck':
// TODO remove function wrapper // TODO remove function wrapper
return ts.createImmediatelyInvokedArrowFunction([ts.createIf( return ts.createImmediatelyInvokedArrowFunction([
ts.createBinary( ts.createIf(
ts.createCall(ts.createIdentifier(decoratorMethod), undefined, [ts.createThis()]), ts.createBinary(
ts.SyntaxKind.EqualsEqualsEqualsToken, ts.createCall(ts.createIdentifier(decoratorMethod), undefined, [ts.createThis()]),
ts.createTrue() ts.SyntaxKind.EqualsEqualsEqualsToken,
ts.createTrue()
),
method.body
), ),
method.body ]);
)]);
default: default:
return ts.createCall(ts.createIdentifier(decoratorMethod), undefined, [ return ts.createCall(ts.createIdentifier(decoratorMethod), undefined, [
ts.createThis(), ts.createThis(),
ts.createLiteral((method.name as any).text), ts.createLiteral((method.name as any).text),
convertValueToLiteral(decoratorArgs), convertValueToLiteral(decoratorArgs),
ts.createIdentifier('arguments') ts.createIdentifier('arguments'),
]); ]);
} }
} }

View File

@ -1,12 +1,7 @@
import * as ts from 'typescript'; import * as ts from 'typescript';
import { Logger } from '../../logger'; import { Logger } from '../../logger';
import { import { convertValueToLiteral, getDecorator, getDecoratorArgs, getDecoratorName } from '../helpers';
convertValueToLiteral,
getDecorator,
getDecoratorArgs,
getDecoratorName
} from '../helpers';
import { transformMembers } from './members'; import { transformMembers } from './members';
function transformClass(cls: any, ngcBuild?: boolean) { function transformClass(cls: any, ngcBuild?: boolean) {
@ -48,17 +43,15 @@ function transformClass(cls: any, ngcBuild?: boolean) {
return cls; return cls;
} }
function transformClasses( function transformClasses(file: ts.SourceFile, ctx: ts.TransformationContext, ngcBuild?: boolean) {
file: ts.SourceFile,
ctx: ts.TransformationContext,
ngcBuild?: boolean
) {
Logger.silly('Transforming file: ' + file.fileName); Logger.silly('Transforming file: ' + file.fileName);
return ts.visitEachChild( return ts.visitEachChild(
file, file,
node => { node => {
if (node.kind !== ts.SyntaxKind.ClassDeclaration if (
|| (node.modifiers && node.modifiers.find(v => v.kind === ts.SyntaxKind.DeclareKeyword))) { node.kind !== ts.SyntaxKind.ClassDeclaration ||
(node.modifiers && node.modifiers.find(v => v.kind === ts.SyntaxKind.DeclareKeyword))
) {
return node; return node;
} }
return transformClass(node, ngcBuild); return transformClass(node, ngcBuild);
@ -67,9 +60,7 @@ function transformClasses(
); );
} }
export function pluginClassTransformer( export function pluginClassTransformer(ngcBuild?: boolean): ts.TransformerFactory<ts.SourceFile> {
ngcBuild?: boolean
): ts.TransformerFactory<ts.SourceFile> {
return (ctx: ts.TransformationContext) => { return (ctx: ts.TransformationContext) => {
return tsSourceFile => { return tsSourceFile => {
if (tsSourceFile.fileName.indexOf('src/@ionic-native/plugins') > -1) if (tsSourceFile.fileName.indexOf('src/@ionic-native/plugins') > -1)

View File

@ -32,9 +32,9 @@ export function transformProperty(members: any[], index: number) {
ts.createReturn( ts.createReturn(
ts.createCall(ts.createIdentifier(type + 'PropertyGet'), undefined, [ ts.createCall(ts.createIdentifier(type + 'PropertyGet'), undefined, [
ts.createThis(), ts.createThis(),
ts.createLiteral((property.name as any).text) ts.createLiteral((property.name as any).text),
]) ])
) ),
]) ])
); );
@ -42,24 +42,15 @@ export function transformProperty(members: any[], index: number) {
undefined, undefined,
undefined, undefined,
property.name, property.name,
[ [ts.createParameter(undefined, undefined, undefined, 'value', undefined, property.type)],
ts.createParameter(
undefined,
undefined,
undefined,
'value',
undefined,
property.type
)
],
ts.createBlock([ ts.createBlock([
ts.createStatement( ts.createStatement(
ts.createCall(ts.createIdentifier(type + 'PropertySet'), undefined, [ ts.createCall(ts.createIdentifier(type + 'PropertySet'), undefined, [
ts.createThis(), ts.createThis(),
ts.createLiteral((property.name as any).text), ts.createLiteral((property.name as any).text),
ts.createIdentifier('value') ts.createIdentifier('value'),
]) ])
) ),
]) ])
); );

View File

@ -13,22 +13,16 @@ export function getCompilerHost() {
} }
export function getProgram(declaration = false, pluginPaths: string[] = PLUGIN_PATHS) { export function getProgram(declaration = false, pluginPaths: string[] = PLUGIN_PATHS) {
const compilerOptions: ts.CompilerOptions = clone(COMPILER_OPTIONS); const compilerOptions: ts.CompilerOptions = clone(COMPILER_OPTIONS);
compilerOptions.declaration = declaration; compilerOptions.declaration = declaration;
compilerOptions.moduleResolution = ts.ModuleResolutionKind.NodeJs; compilerOptions.moduleResolution = ts.ModuleResolutionKind.NodeJs;
compilerOptions.target = ts.ScriptTarget.ES5; compilerOptions.target = ts.ScriptTarget.ES5;
compilerOptions.module = ts.ModuleKind.ES2015; compilerOptions.module = ts.ModuleKind.ES2015;
compilerOptions.inlineSourceMap = true; compilerOptions.inlineSourceMap = true;
compilerOptions.inlineSources = true; compilerOptions.inlineSources = true;
compilerOptions.lib = [ compilerOptions.lib = ['lib.dom.d.ts', 'lib.es5.d.ts', 'lib.es2015.d.ts', 'lib.es2016.d.ts', 'lib.es2017.d.ts'];
'lib.dom.d.ts',
'lib.es5.d.ts',
'lib.es2015.d.ts',
'lib.es2016.d.ts',
'lib.es2017.d.ts'
];
return ts.createProgram(pluginPaths, compilerOptions, getCompilerHost()); return ts.createProgram(pluginPaths, compilerOptions, getCompilerHost());
} }
export function generateDeclarations(sourceFiles?: string[]) { export function generateDeclarations(sourceFiles?: string[]) {
@ -37,15 +31,10 @@ export function generateDeclarations(sourceFiles?: string[]) {
export function transpile() { export function transpile() {
const emitResult = getProgram().emit(undefined, getCompilerHost().writeFile, undefined, false, { const emitResult = getProgram().emit(undefined, getCompilerHost().writeFile, undefined, false, {
before: [ before: [extractInjectables(), importsTransformer(), pluginClassTransformer()],
extractInjectables(),
importsTransformer(),
pluginClassTransformer(),
]
}); });
emitInjectableClasses(); emitInjectableClasses();
return emitResult; return emitResult;
} }

View File

@ -43,7 +43,7 @@ async function run(pluginsDir: string) {
async function generateTypedoc(root: string, outputPath = typedocTmp) { async function generateTypedoc(root: string, outputPath = typedocTmp) {
const pluginDirs = await fs.readdir(root); const pluginDirs = await fs.readdir(root);
const paths = pluginDirs.map((dir) => resolve(root, dir, 'index.ts')); const paths = pluginDirs.map(dir => resolve(root, dir, 'index.ts'));
typedoc.generateJson(paths, outputPath); typedoc.generateJson(paths, outputPath);
return fs.readJson(outputPath); return fs.readJson(outputPath);
} }
@ -51,9 +51,7 @@ async function generateTypedoc(root: string, outputPath = typedocTmp) {
function processPlugin(pluginModule): Plugin { function processPlugin(pluginModule): Plugin {
const pluginClass = pluginModule.children.find(isPlugin); const pluginClass = pluginModule.children.find(isPlugin);
const decorator = getPluginDecorator(pluginClass); const decorator = getPluginDecorator(pluginClass);
const packageName = `@ionic-native/${basename( const packageName = `@ionic-native/${basename(dirname(pluginModule.originalName))}`;
dirname(pluginModule.originalName)
)}`;
const displayName = getTag(pluginClass, 'name'); const displayName = getTag(pluginClass, 'name');
const usage = getTag(pluginClass, 'usage'); const usage = getTag(pluginClass, 'usage');
const description = getTag(pluginClass, 'description'); const description = getTag(pluginClass, 'description');
@ -78,14 +76,14 @@ function processPlugin(pluginModule): Plugin {
*/ */
const getPluginDecorator = (child: any) => { const getPluginDecorator = (child: any) => {
if (isPlugin(child)) { if (isPlugin(child)) {
const decorator = child.decorators.find((d) => d.name === 'Plugin'); const decorator = child.decorators.find(d => d.name === 'Plugin');
return runInNewContext(`(${decorator.arguments.config})`); return runInNewContext(`(${decorator.arguments.config})`);
} }
}; };
const getTag = (child: any, tagName: string): string => { const getTag = (child: any, tagName: string): string => {
if (hasTags(child)) { if (hasTags(child)) {
const tag = child.comment.tags.find((t) => t.tag === tagName); const tag = child.comment.tags.find(t => t.tag === tagName);
if (tag) { if (tag) {
return tag.text; return tag.text;
} }
@ -100,9 +98,8 @@ const isPlugin = (child: any): boolean =>
isClass(child) && isClass(child) &&
hasTags(child) && hasTags(child) &&
Array.isArray(child.decorators) && Array.isArray(child.decorators) &&
child.decorators.some((d) => d.name === 'Plugin'); child.decorators.some(d => d.name === 'Plugin');
const hasPlugin = (child: any): boolean => child.children.some(isPlugin); const hasPlugin = (child: any): boolean => child.children.some(isPlugin);
const hasTags = (child: any): boolean => const hasTags = (child: any): boolean => child.comment && Array.isArray(child.comment.tags);
child.comment && Array.isArray(child.comment.tags);

View File

@ -1,3 +1,3 @@
# docs-json # docs-json
This script reads and generates [typedoc](https://github.com/TypeStrong/typedoc) data for each of the plugins in `src/@ionic-native/plugins`. That data is then formatted and output as `plugins.json` in this directory. This script reads and generates [typedoc](https://github.com/TypeStrong/typedoc) data for each of the plugins in `src/@ionic-native/plugins`. That data is then formatted and output as `plugins.json` in this directory.

View File

@ -1,3 +1,3 @@
module.exports = function(getLinkInfo) { module.exports = function (getLinkInfo) {
getLinkInfo.useFirstAmbiguousLink = false; getLinkInfo.useFirstAmbiguousLink = false;
}; };

View File

@ -1,3 +1,3 @@
module.exports = function(log) { module.exports = function (log) {
log.level = 'error'; //'silly', 'debug', 'info', 'warn', 'error' log.level = 'error'; //'silly', 'debug', 'info', 'warn', 'error'
}; };

View File

@ -1,4 +1,3 @@
module.exports = function(parseTagsProcessor) { module.exports = function (parseTagsProcessor) {
parseTagsProcessor.tagDefinitions = parseTagsProcessor.tagDefinitions parseTagsProcessor.tagDefinitions = parseTagsProcessor.tagDefinitions.concat(require('../tag-defs/tag-defs'));
.concat(require('../tag-defs/tag-defs'));
}; };

View File

@ -1,4 +1,4 @@
module.exports = function(templateEngine) { module.exports = function (templateEngine) {
// Nunjucks and Angular conflict in their template bindings so change the Nunjucks // Nunjucks and Angular conflict in their template bindings so change the Nunjucks
// Also conflict with Jekyll // Also conflict with Jekyll
templateEngine.config.tags = { templateEngine.config.tags = {
@ -7,6 +7,6 @@ module.exports = function(templateEngine) {
blockStart: '<@', blockStart: '<@',
blockEnd: '@>', blockEnd: '@>',
commentStart: '<#', commentStart: '<#',
commentEnd: '#>' commentEnd: '#>',
}; };
}; };

View File

@ -1,4 +1,4 @@
module.exports = function(templateEngine) { module.exports = function (templateEngine) {
// add custom filters to nunjucks // add custom filters to nunjucks
templateEngine.filters.push( templateEngine.filters.push(
require('../filters/capital'), require('../filters/capital'),

View File

@ -1,4 +1,4 @@
"use strict"; 'use strict';
const Package = require('dgeni').Package, const Package = require('dgeni').Package,
jsdocPackage = require('dgeni-packages/jsdoc'), jsdocPackage = require('dgeni-packages/jsdoc'),
nunjucksPackage = require('dgeni-packages/nunjucks'), nunjucksPackage = require('dgeni-packages/nunjucks'),
@ -8,72 +8,68 @@ const Package = require('dgeni').Package,
config = require('../config.json'); config = require('../config.json');
module.exports = currentVersion => { module.exports = currentVersion => {
return (
new Package('ionic-native-docs', [jsdocPackage, nunjucksPackage, typescriptPackage, linksPackage])
return new Package('ionic-native-docs', [jsdocPackage, nunjucksPackage, typescriptPackage, linksPackage]) .processor(require('./processors/remove-private-members'))
.processor(require('./processors/hide-private-api'))
.processor(require('./processors/parse-optional'))
.processor(require('./processors/mark-properties'))
.processor(require('./processors/npm-id'))
.processor(require('./processors/jekyll'))
.processor(require('./processors/remove-private-members')) .config(require('./configs/log'))
.processor(require('./processors/hide-private-api')) .config(require('./configs/template-filters'))
.processor(require('./processors/parse-optional')) .config(require('./configs/template-tags'))
.processor(require('./processors/mark-properties')) .config(require('./configs/tag-defs'))
.processor(require('./processors/npm-id')) .config(require('./configs/links'))
.processor(require('./processors/jekyll'))
.config(require('./configs/log')) .config(function (renderDocsProcessor, computePathsProcessor) {
.config(require('./configs/template-filters')) currentVersion = {
.config(require('./configs/template-tags')) href: '/' + config.v2DocsDir.replace('content/', ''),
.config(require('./configs/tag-defs')) folder: '',
.config(require('./configs/links')) name: currentVersion,
};
.config(function(renderDocsProcessor, computePathsProcessor) { renderDocsProcessor.extraData.version = {
list: [currentVersion],
current: currentVersion,
latest: currentVersion,
};
currentVersion = { computePathsProcessor.pathTemplates = [
href: '/' + config.v2DocsDir.replace('content/', ''), {
folder: '', docTypes: ['class'],
name: currentVersion getOutputPath: doc => 'content/' + config.v2DocsDir + '/' + doc.name + '/index.md',
}; },
];
})
renderDocsProcessor.extraData.version = { //configure file reading
list: [currentVersion], .config(function (readFilesProcessor, readTypeScriptModules) {
current: currentVersion, // Don't run unwanted processors since we are not using the normal file reading processor
latest: currentVersion readFilesProcessor.$enabled = false;
}; readFilesProcessor.basePath = path.resolve(__dirname, '../../..');
computePathsProcessor.pathTemplates = [{ readTypeScriptModules.basePath = path.resolve(__dirname, '../../..');
docTypes: ['class'], readTypeScriptModules.sourceFiles = ['./src/@ionic-native/plugins/**/*.ts'];
getOutputPath: doc => 'content/' + config.v2DocsDir + '/' + doc.name + '/index.md' })
}];
}) // Configure file writing
.config(function (writeFilesProcessor) {
writeFilesProcessor.outputFolder = '../ionic-site/';
})
//configure file reading // Configure rendering
.config(function(readFilesProcessor, readTypeScriptModules) { .config(function (templateFinder) {
templateFinder.templateFolders.unshift(path.resolve(__dirname, 'templates'));
// Don't run unwanted processors since we are not using the normal file reading processor
readFilesProcessor.$enabled = false;
readFilesProcessor.basePath = path.resolve(__dirname, '../../..');
readTypeScriptModules.basePath = path.resolve(__dirname, '../../..');
readTypeScriptModules.sourceFiles = [
'./src/@ionic-native/plugins/**/*.ts'
];
})
// Configure file writing
.config(function(writeFilesProcessor) {
writeFilesProcessor.outputFolder = '../ionic-site/';
})
// Configure rendering
.config(function(templateFinder) {
templateFinder.templateFolders.unshift(path.resolve(__dirname, 'templates'));
// Specify how to match docs to templates.
templateFinder.templatePatterns = [
'${ doc.template }',
'${ doc.docType }.template.html',
'common.template.html'
];
});
// Specify how to match docs to templates.
templateFinder.templatePatterns = [
'${ doc.template }',
'${ doc.docType }.template.html',
'common.template.html',
];
})
);
}; };

View File

@ -1,4 +1,4 @@
"use strict"; 'use strict';
const Package = require('dgeni').Package, const Package = require('dgeni').Package,
jsdocPackage = require('dgeni-packages/jsdoc'), jsdocPackage = require('dgeni-packages/jsdoc'),
nunjucksPackage = require('dgeni-packages/nunjucks'), nunjucksPackage = require('dgeni-packages/nunjucks'),
@ -8,68 +8,63 @@ const Package = require('dgeni').Package,
config = require('../config.json'); config = require('../config.json');
module.exports = currentVersion => { module.exports = currentVersion => {
return (
new Package('ionic-native-readmes', [jsdocPackage, nunjucksPackage, typescriptPackage, linksPackage])
return new Package('ionic-native-readmes', [jsdocPackage, nunjucksPackage, typescriptPackage, linksPackage]) .processor(require('./processors/readmes'))
.processor(require('./processors/remove-private-members'))
.processor(require('./processors/hide-private-api'))
.processor(require('./processors/npm-id'))
.processor(require('./processors/readmes')) .config(require('./configs/log'))
.processor(require('./processors/remove-private-members')) .config(require('./configs/template-filters'))
.processor(require('./processors/hide-private-api')) .config(require('./configs/template-tags'))
.processor(require('./processors/npm-id')) .config(require('./configs/tag-defs'))
.config(require('./configs/links'))
.config(require('./configs/log')) .config(function (renderDocsProcessor, computePathsProcessor) {
.config(require('./configs/template-filters')) currentVersion = {
.config(require('./configs/template-tags')) href: '/' + config.v2DocsDir.replace('content/', ''),
.config(require('./configs/tag-defs')) folder: '',
.config(require('./configs/links')) name: currentVersion,
};
renderDocsProcessor.extraData.version = {
list: [currentVersion],
current: currentVersion,
latest: currentVersion,
};
.config(function(renderDocsProcessor, computePathsProcessor) { computePathsProcessor.pathTemplates = [
{
docTypes: ['class'],
getOutputPath: doc =>
doc.originalModule.replace(config.pluginDir + '/', '').replace(/\/index$/, '/README.md'),
},
];
})
currentVersion = { //configure file reading
href: '/' + config.v2DocsDir.replace('content/', ''), .config(function (readFilesProcessor, readTypeScriptModules) {
folder: '', // Don't run unwanted processors since we are not using the normal file reading processor
name: currentVersion readFilesProcessor.$enabled = false;
}; readFilesProcessor.basePath = path.resolve(__dirname, '../../..');
renderDocsProcessor.extraData.version = { readTypeScriptModules.basePath = path.resolve(path.resolve(__dirname, '../../..'));
list: [currentVersion], readTypeScriptModules.sourceFiles = ['./src/@ionic-native/plugins/**/*.ts'];
current: currentVersion, })
latest: currentVersion
};
computePathsProcessor.pathTemplates = [{ // Configure file writing
docTypes: ['class'], .config(function (writeFilesProcessor) {
getOutputPath: doc => doc.originalModule.replace(config.pluginDir + '/', '') writeFilesProcessor.outputFolder = './dist/@ionic-native/';
.replace(/\/index$/, '/README.md') })
}];
}) // Configure rendering
.config(function (templateFinder) {
//configure file reading templateFinder.templateFolders.unshift(path.resolve(__dirname, 'templates'));
.config(function(readFilesProcessor, readTypeScriptModules) {
// Don't run unwanted processors since we are not using the normal file reading processor
readFilesProcessor.$enabled = false;
readFilesProcessor.basePath = path.resolve(__dirname, '../../..');
readTypeScriptModules.basePath = path.resolve(path.resolve(__dirname, '../../..'));
readTypeScriptModules.sourceFiles = ['./src/@ionic-native/plugins/**/*.ts'];
})
// Configure file writing
.config(function(writeFilesProcessor) {
writeFilesProcessor.outputFolder = './dist/@ionic-native/';
})
// Configure rendering
.config(function(templateFinder) {
templateFinder.templateFolders.unshift(path.resolve(__dirname, 'templates'));
// Specify how to match docs to templates.
templateFinder.templatePatterns = [
'${ doc.template }',
'${ doc.docType }.template.md',
'readme.template.md'
];
});
// Specify how to match docs to templates.
templateFinder.templatePatterns = ['${ doc.template }', '${ doc.docType }.template.md', 'readme.template.md'];
})
);
}; };

View File

@ -1,5 +1,5 @@
"use strict"; 'use strict';
module.exports = { module.exports = {
name: 'capital', name: 'capital',
process: str => str? str.charAt(0).toUpperCase() + str.substring(1) : '' process: str => (str ? str.charAt(0).toUpperCase() + str.substring(1) : ''),
}; };

View File

@ -1,4 +1,4 @@
"use strict"; 'use strict';
const encoder = new require('node-html-encoder').Encoder(); const encoder = new require('node-html-encoder').Encoder();
function code(str, inline, lang) { function code(str, inline, lang) {
@ -20,5 +20,5 @@ function code(str, inline, lang) {
module.exports = { module.exports = {
name: 'code', name: 'code',
process: (str, lang) => code(str, true, lang) process: (str, lang) => code(str, true, lang),
}; };

View File

@ -1,5 +1,5 @@
"use strict"; 'use strict';
module.exports = { module.exports = {
name: 'dashify', name: 'dashify',
process: str => str? str.replace(/\s/g, '-') : '' process: str => (str ? str.replace(/\s/g, '-') : ''),
}; };

View File

@ -1,5 +1,5 @@
"use strict"; 'use strict';
module.exports = { module.exports = {
name: 'dump', name: 'dump',
process: obj => console.log(obj) process: obj => console.log(obj),
}; };

View File

@ -1,43 +1,39 @@
"use strict"; 'use strict';
module.exports = function test(){ module.exports = function test() {
return { return {
name: 'debug', name: 'debug',
$runBefore: ['rendering-docs'], $runBefore: ['rendering-docs'],
$process: function(docs){ $process: function (docs) {
docs.forEach(function(doc){ docs.forEach(function (doc) {
if (doc.name == "Camera"){ if (doc.name == 'Camera') {
console.log(doc.tags); console.log(doc.tags);
doc.tags.forEach(function(tag){ doc.tags.forEach(function (tag) {
if(tag.tagName == 'classes'){ if (tag.tagName == 'classes') {
} }
}); });
doc.moduleDoc.exports.forEach(function(d,i){ doc.moduleDoc.exports.forEach(function (d, i) {
if(d.name === 'CameraOptions') { if (d.name === 'CameraOptions') {
console.log('Name: ' + d.name); console.log('Name: ' + d.name);
console.log('Type: ' + d.docType); console.log('Type: ' + d.docType);
console.log('First member: ', d.members[0]); console.log('First member: ', d.members[0]);
} }
}); });
var exports = doc.exportSymbol.parent.exports; var exports = doc.exportSymbol.parent.exports;
for(var p in exports) { for (var p in exports) {
if(p == 'CameraOptions') if (p == 'CameraOptions') {
{
var x = exports[p]; var x = exports[p];
console.log(x.members.quality); console.log(x.members.quality);
} }
} }
doc.members.forEach(function(method){ doc.members.forEach(function (method) {
if (method.name === "getPicture") { if (method.name === 'getPicture') {
console.log(method); console.log(method);
} }
}) });
} }
}) });
} },
} };
} };

View File

@ -1,9 +1,9 @@
"use strict"; 'use strict';
module.exports = function removePrivateApi() { module.exports = function removePrivateApi() {
return { return {
name: 'remove-private-api', name: 'remove-private-api',
description: 'Prevent the private apis from being rendered', description: 'Prevent the private apis from being rendered',
$runBefore: ['rendering-docs'], $runBefore: ['rendering-docs'],
$process: docs => docs.filter(doc => !doc.private && (!doc.tags || !doc.tags.tagsByName.get('hidden'))) $process: docs => docs.filter(doc => !doc.private && (!doc.tags || !doc.tags.tagsByName.get('hidden'))),
}; };
}; };

View File

@ -1,4 +1,4 @@
"use strict"; 'use strict';
module.exports = function jekyll(renderDocsProcessor) { module.exports = function jekyll(renderDocsProcessor) {
return { return {
name: 'jekyll', name: 'jekyll',
@ -6,7 +6,6 @@ module.exports = function jekyll(renderDocsProcessor) {
$runAfter: ['paths-computed'], $runAfter: ['paths-computed'],
$runBefore: ['rendering-docs'], $runBefore: ['rendering-docs'],
$process: docs => { $process: docs => {
// pretty up and sort the docs object for menu generation // pretty up and sort the docs object for menu generation
docs = docs.filter(doc => (!!doc.name && !!doc.outputPath) || doc.docType === 'index-page'); docs = docs.filter(doc => (!!doc.name && !!doc.outputPath) || doc.docType === 'index-page');
@ -20,7 +19,7 @@ module.exports = function jekyll(renderDocsProcessor) {
const textA = a.name ? a.name.toUpperCase() : '', const textA = a.name ? a.name.toUpperCase() : '',
textB = b.name ? b.name.toUpperCase() : ''; textB = b.name ? b.name.toUpperCase() : '';
return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; return textA < textB ? -1 : textA > textB ? 1 : 0;
}); });
docs.forEach(doc => { docs.forEach(doc => {
@ -29,11 +28,9 @@ module.exports = function jekyll(renderDocsProcessor) {
} }
doc.outputPath = doc.outputPath.toLowerCase().replace(/\s/g, '-'); doc.outputPath = doc.outputPath.toLowerCase().replace(/\s/g, '-');
doc.URL = doc.outputPath.replace('docs//', 'docs/') doc.URL = doc.outputPath.replace('docs//', 'docs/').replace('/index.md', '').replace('content/', '');
.replace('/index.md', '')
.replace('content/', '');
// add trailing slash to plugin pages // add trailing slash to plugin pages
if(!doc.URL.endsWith("/") && !doc.URL.endsWith(".html")) { if (!doc.URL.endsWith('/') && !doc.URL.endsWith('.html')) {
doc.URL = doc.URL + '/'; doc.URL = doc.URL + '/';
} }
@ -57,10 +54,10 @@ module.exports = function jekyll(renderDocsProcessor) {
docType: 'nativeMenu', docType: 'nativeMenu',
id: 'native_menu', id: 'native_menu',
template: 'native_menu.template.html', template: 'native_menu.template.html',
outputPath: 'content/_includes/fluid/native_menu.html' outputPath: 'content/_includes/fluid/native_menu.html',
}); });
return docs; return docs;
} },
}; };
}; };

View File

@ -1,15 +1,16 @@
"use strict"; 'use strict';
module.exports = function markProperties() { module.exports = function markProperties() {
return { return {
name: 'mark-properties', name: 'mark-properties',
$runBefore: ['rendering-docs'], $runBefore: ['rendering-docs'],
$process: docs => docs.map(doc => { $process: docs =>
for (let i in doc.members) { docs.map(doc => {
if (doc.members.hasOwnProperty(i) && typeof doc.members[i].parameters === 'undefined') { for (let i in doc.members) {
doc.members[i].isProperty = true; if (doc.members.hasOwnProperty(i) && typeof doc.members[i].parameters === 'undefined') {
doc.members[i].isProperty = true;
}
} }
} return doc;
return doc; }),
}) };
}
}; };

View File

@ -1,4 +1,4 @@
"use strict"; 'use strict';
module.exports = function npmId(renderDocsProcessor) { module.exports = function npmId(renderDocsProcessor) {
return { return {
name: 'npm-id', name: 'npm-id',
@ -6,7 +6,7 @@ module.exports = function npmId(renderDocsProcessor) {
$runBefore: ['rendering-docs'], $runBefore: ['rendering-docs'],
$process: docs => { $process: docs => {
// pretty up and sort the docs object for menu generation // pretty up and sort the docs object for menu generation
docs = docs.filter(function(doc) { docs = docs.filter(function (doc) {
return (!!doc.name && !!doc.outputPath) || doc.docType === 'index-page'; return (!!doc.name && !!doc.outputPath) || doc.docType === 'index-page';
}); });
@ -15,6 +15,6 @@ module.exports = function npmId(renderDocsProcessor) {
}); });
return docs; return docs;
} },
}; };
}; };

View File

@ -1,4 +1,4 @@
"use strict"; 'use strict';
module.exports = function parseOptional() { module.exports = function parseOptional() {
return { return {
$runBefore: ['rendering-docs'], $runBefore: ['rendering-docs'],
@ -17,6 +17,6 @@ module.exports = function parseOptional() {
} }
}); });
return docs; return docs;
} },
} };
}; };

View File

@ -1,4 +1,4 @@
"use strict"; 'use strict';
module.exports = function readmes(renderDocsProcessor) { module.exports = function readmes(renderDocsProcessor) {
return { return {
name: 'readmes', name: 'readmes',
@ -14,6 +14,6 @@ module.exports = function readmes(renderDocsProcessor) {
}); });
return docs; return docs;
} },
}; };
}; };

View File

@ -1,4 +1,4 @@
"use strict"; 'use strict';
module.exports = function removePrivateMembers() { module.exports = function removePrivateMembers() {
return { return {
name: 'remove-private-members', name: 'remove-private-members',
@ -7,7 +7,6 @@ module.exports = function removePrivateMembers() {
$runBefore: ['rendering-docs'], $runBefore: ['rendering-docs'],
$process: docs => { $process: docs => {
docs.forEach(doc => { docs.forEach(doc => {
if (doc.members) { if (doc.members) {
doc.members = doc.members.filter(member => !member.tags.tagsByName.get('hidden')); doc.members = doc.members.filter(member => !member.tags.tagsByName.get('hidden'));
} }
@ -15,10 +14,9 @@ module.exports = function removePrivateMembers() {
if (doc.statics) { if (doc.statics) {
doc.statics = doc.statics.filter(staticMethod => !staticMethod.tags.tagsByName.get('hidden')); doc.statics = doc.statics.filter(staticMethod => !staticMethod.tags.tagsByName.get('hidden'));
} }
}); });
return docs; return docs;
} },
}; };
}; };

View File

@ -1,11 +1,11 @@
"use strict"; 'use strict';
module.exports = [ module.exports = [
{'name': 'advanced'}, { name: 'advanced' },
{'name': 'demo'}, { name: 'demo' },
{'name': 'beta', transforms: (doc, tag, value) => typeof value !== 'undefined'}, // make the value true or undefined instead of '' or undefined { name: 'beta', transforms: (doc, tag, value) => typeof value !== 'undefined' }, // make the value true or undefined instead of '' or undefined
{'name': 'usage'}, { name: 'usage' },
{'name': 'hidden'}, // hide from docs { name: 'hidden' }, // hide from docs
{'name': 'classes'}, // related classes { name: 'classes' }, // related classes
{'name': 'interfaces'}, // related interfaces { name: 'interfaces' }, // related interfaces
{'name': 'paid', transforms: (doc, tag, value) => typeof value !== 'undefined'} // paid plugin, set value to true { name: 'paid', transforms: (doc, tag, value) => typeof value !== 'undefined' }, // paid plugin, set value to true
]; ];

View File

@ -11,172 +11,124 @@ doc: "<$ doc.name $>"
docType: "<$ doc.docType $>" docType: "<$ doc.docType $>"
--- ---
<@- macro interfaceTable(interface) -@> <@- macro interfaceTable(interface) -@> <@ for export in doc.moduleDoc.exports -@> <@ if export.name == interface @>
<@ for export in doc.moduleDoc.exports -@> <table class="table param-table" style="margin: 0;">
<@ if export.name == interface @>
<table class="table param-table" style="margin:0;">
<thead> <thead>
<tr> <tr>
<th>Param</th> <th>Param</th>
<th>Type</th> <th>Type</th>
<th>Details</th> <th>Details</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<@ for param in export.members @> <@ for param in export.members @>
<tr> <tr>
<td> <td>
<$ param.name $> <$ param.name $>
</td> </td>
<td> <td>
<code><$ param.returnType | escape $></code> <code><$ param.returnType | escape $></code>
</td> </td>
<td> <td>
<$ param.description | marked $> <$ param.description | marked $> <@ if param.optional @><em>(optional)</em><@ endif @>
<@ if param.optional @><em>(optional)</em><@ endif @> </td>
</td> </tr>
</tr> <@ endfor @>
<@ endfor @>
</tbody> </tbody>
</table> </table>
<@ endif @> <@ endif @> <@- endfor @> <@- endmacro -@> <@- macro githubViewLink(doc) -@>
<@- endfor @> <a
<@- endmacro -@> href="https://github.com/ionic-team/ionic-native/tree/master/<$ doc.fileInfo.relativePath $>#L<$ doc.location.start.line+1 $>-L<$ doc.location.end.line+1 $>"
><$ doc.fileInfo.relativePath $> (line <$ doc.location.start.line+1 $>)</a
<@- macro githubViewLink(doc) -@> >
<a href="https://github.com/ionic-team/ionic-native/tree/master/<$ doc.fileInfo.relativePath $>#L<$ doc.location.start.line+1 $>-L<$ doc.location.end.line+1 $>"><$ doc.fileInfo.relativePath $> (line <$ doc.location.start.line+1 $>)</a> <@- endmacro -@> <@- macro paramTable(params, isDirective) -@>
<@- endmacro -@> <table class="table param-table" style="margin: 0;">
<@- macro paramTable(params, isDirective) -@>
<table class="table param-table" style="margin:0;">
<thead> <thead>
<tr> <tr>
<th><@ if isDirective @>Attr<@ else @>Param<@ endif @></th> <th><@ if isDirective @>Attr<@ else @>Param<@ endif @></th>
<th>Type</th> <th>Type</th>
<th>Details</th> <th>Details</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<@- for param in params @> <@- for param in params @>
<tr> <tr>
<td> <td>
<$ param.name $> <$ param.name $> <@- if param.alias @>| <$ param.alias $><@ endif -@>
<@- if param.alias @>| <$ param.alias $><@ endif -@> </td>
</td> <td>
<td> <$ typeList(param.typeList) $>
<$ typeList(param.typeList) $> </td>
</td> <td>
<td> <$ param.description | marked $> <@- if param.defaultValue @>
<$ param.description | marked $> <p><em>(default: <$ param.defaultValue $>)</em></p>
<@- if param.defaultValue @><p><em>(default: <$ param.defaultValue $>)</em></p><@ endif -@> <@ endif -@>
</td> </td>
</tr> </tr>
<@ endfor -@> <@ endfor -@>
</tbody> </tbody>
</table> </table>
<@- endmacro -@> <@- endmacro -@> <@- macro functionSyntax(fn) @> <@- set sep = joiner(',&nbsp;') -@>
<code
<@- macro functionSyntax(fn) @> ><$ fn.name $><@- if not fn.isProperty @>(<@ endif -@><@- for param in fn.params @><$ sep() $> <@- if
<@- set sep = joiner(',&nbsp;') -@> param.type.optional @>[<@- endif -@> <$ param.name $> <@- if param.type.optional -@>]<@- endif -@> <@- endfor -@><@-
<code><$ fn.name $><@- if not fn.isProperty @>(<@ endif -@><@- for param in fn.params @><$ sep() $> if not fn.isProperty @>)<@- endif -@></code
<@- if param.type.optional @>[<@- endif -@> >
<$ param.name $> <@- endmacro -@> <@- macro typeList(types) -@> <@ set separator = joiner("|") @> <@- for type in types @><$ separator()
<@- if param.type.optional -@>]<@- endif -@> $><$ type | code $><@ endfor -@> <@- endmacro -@> <@- macro typeInfo(fn) -@> <$ typeList(fn.typeList) $> <$
<@- endfor -@><@- if not fn.isProperty @>)<@- endif -@></code> fn.description $> <@- endmacro -@> <@- macro documentPlatforms(method) -@> <@- if method.decorators @> <@ for prop in
<@- endmacro -@> method.decorators[0].argumentInfo @> <@ if prop.platforms @>
<@- macro typeList(types) -@>
<@ set separator = joiner("|") @>
<@- for type in types @><$ separator() $><$ type | code $><@ endfor -@>
<@- endmacro -@>
<@- macro typeInfo(fn) -@>
<$ typeList(fn.typeList) $> <$ fn.description $>
<@- endmacro -@>
<@- macro documentPlatforms(method) -@>
<@- if method.decorators @>
<@ for prop in method.decorators[0].argumentInfo @>
<@ if prop.platforms @>
<p> <p>
<strong>Platforms:</strong> <strong>Platforms:</strong>
<@- for platform in prop.platforms -@> <@- for platform in prop.platforms -@>
<strong class="tag"><$ platform $></strong>&nbsp; <strong class="tag"><$ platform $></strong>&nbsp; <@- endfor -@>
<@- endfor -@>
</p> </p>
<@ endif @> <@ endif @> <@ endfor @> <@- endif @> <@- endmacro -@> <@ macro documentMethod(method) -@>
<@ endfor @>
<@- endif @>
<@- endmacro -@>
<@ macro documentMethod(method) -@>
<h3><a class="anchor" name="<$ method.name $>" href="#<$ method.name $>"></a><$ functionSyntax(method) $></h3> <h3><a class="anchor" name="<$ method.name $>" href="#<$ method.name $>"></a><$ functionSyntax(method) $></h3>
<$ documentPlatforms(method) $> <$ documentPlatforms(method) $> <$ method.description $> <@ if method.params -@> <$ paramTable(method.params) $> <@-
<$ method.description $> endif @> <@ if method.returns -@>
<@ if method.params -@>
<$ paramTable(method.params) $>
<@- endif @>
<@ if method.returns -@>
<div class="return-value" markdown="1"> <div class="return-value" markdown="1">
<i class="icon ion-arrow-return-left"></i> <i class="icon ion-arrow-return-left"></i>
<b>Returns:</b> <$ typeInfo(method.returns) $> <b>Returns:</b> <$ typeInfo(method.returns) $>
</div> </div>
<@- endif @> <@- endif @> <@- endmacro -@> <@- macro documentClass(doc) @> <@- if doc.statics.length -@>
<@- endmacro -@>
<@- macro documentClass(doc) @>
<@- if doc.statics.length -@>
<h2><a class="anchor" name="static-members" href="#static-members"></a>Static Members</h2> <h2><a class="anchor" name="static-members" href="#static-members"></a>Static Members</h2>
<@ for method in doc.statics -@> <@ for method in doc.statics -@> <$ documentMethod(method) $> <@ endfor -@> <@ endif @> <# --- methods in class --- #>
<$ documentMethod(method) $>
<@ endfor -@>
<@ endif @>
<# --- methods in class --- #>
<@- if doc.members and doc.members.length @> <@- if doc.members and doc.members.length @>
<h2><a class="anchor" name="instance-members" href="#instance-members"></a>Instance Members</h2> <h2><a class="anchor" name="instance-members" href="#instance-members"></a>Instance Members</h2>
<@ for method in doc.members -@> <@ for method in doc.members -@> <$ documentMethod(method) $> <@- endfor @> <@- endif -@> <@ endmacro @>
<$ documentMethod(method) $>
<@- endfor @>
<@- endif -@>
<@ endmacro @>
<h1 class="api-title"><$ doc.name $> <h1 class="api-title">
<@- if doc.beta == true -@> <$ doc.name $> <@- if doc.beta == true -@>
<span class="beta" title="beta">&beta;</span> <span class="beta" title="beta">&beta;</span>
<@- endif -@> <@- endif -@> <@- if doc.paid == true -@>
<@- if doc.paid == true -@> <span class="paid" title="paid">Paid</span>
<span class="paid" title="paid">Paid</span>
<@- endif -@> <@- endif -@>
</h1> </h1>
<a class="improve-v2-docs" href="http://github.com/ionic-team/ionic-native/edit/master/<$ doc.fileInfo.relativePath|replace('/home/ubuntu/ionic-native/', '')|replace('//','/') $>#L<$ doc.location.start.line $>"> <a
class="improve-v2-docs"
href="http://github.com/ionic-team/ionic-native/edit/master/<$ doc.fileInfo.relativePath|replace('/home/ubuntu/ionic-native/', '')|replace('//','/') $>#L<$ doc.location.start.line $>"
>
Improve this doc Improve this doc
</a> </a>
<# --- Decorators --- #> <# --- Decorators --- #> <@- if doc.decorators @> <@ for prop in doc.decorators[0].argumentInfo @> <@ if doc.beta ==
<@- if doc.decorators @> true @>
<@ for prop in doc.decorators[0].argumentInfo @>
<@ if doc.beta == true @>
<p class="beta-notice"> <p class="beta-notice">
This plugin is still in beta stage and may not work as expected. Please This plugin is still in beta stage and may not work as expected. Please submit any issues to the
submit any issues to the <a target="_blank" <a target="_blank" href="<$ prop.repo $>/issues">plugin repo</a>.
href="<$ prop.repo $>/issues">plugin repo</a>.
</p> </p>
<@ endif @> <@ endif @> <@ if doc.paid == true @>
<@ if doc.paid == true @>
<p class="paid-notice"> <p class="paid-notice">
This plugin might require a paid license, or might take a share of your app's earnings. This plugin might require a paid license, or might take a share of your app's earnings. Check the
Check the <a target="_blank" rel="nofollow" href="<$ prop.repo $>">plugin's repo</a> for more information. <a target="_blank" rel="nofollow" href="<$ prop.repo $>">plugin's repo</a> for more information.
</p> </p>
<@ endif @> <@ endif @> <# --- Plugin description --- #> <$ doc.description | marked $>
<# --- Plugin description --- #> <p>
<$ doc.description | marked $> Repo:
<p>Repo:
<a href="<$ prop.repo $>"> <a href="<$ prop.repo $>">
<$ prop.repo $> <$ prop.repo $>
</a> </a>
@ -185,115 +137,72 @@ docType: "<$ doc.docType $>"
<# --- Install commands --- #> <# --- Install commands --- #>
<h2><a class="anchor" name="installation" href="#installation"></a>Installation</h2> <h2><a class="anchor" name="installation" href="#installation"></a>Installation</h2>
<ol class="installation"> <ol class="installation">
<li>Install the Cordova and Ionic Native plugins:<br> <li>
Install the Cordova and Ionic Native plugins:<br />
<pre><code class="nohighlight">$ <@ if prop.install @><$ prop.install | replace('<', '&lt;').replace('>', '&gt;') $><@ else @>ionic cordova plugin add <$ prop.plugin $><@ endif @> <pre><code class="nohighlight">$ <@ if prop.install @><$ prop.install | replace('<', '&lt;').replace('>', '&gt;') $><@ else @>ionic cordova plugin add <$ prop.plugin $><@ endif @>
$ npm install @ionic-native/<$ doc.npmId $> $ npm install @ionic-native/<$ doc.npmId $>
</code></pre> </code></pre>
</li> </li>
<li><a href="https://ionicframework.com/docs/native/#Add_Plugins_to_Your_App_Module">Add this plugin to your app's module</a></li> <li>
<a href="https://ionicframework.com/docs/native/#Add_Plugins_to_Your_App_Module"
>Add this plugin to your app's module</a
>
</li>
</ol> </ol>
<# --- Plugin supported platforms --- #> <# --- Plugin supported platforms --- #> <@ if prop.platforms @>
<@ if prop.platforms @>
<h2><a class="anchor" name="platforms" href="#platforms"></a>Supported platforms</h2> <h2><a class="anchor" name="platforms" href="#platforms"></a>Supported platforms</h2>
<ul> <ul>
<@ for platform in prop.platforms -@> <@ for platform in prop.platforms -@>
<li><$ platform $></li> <li><$ platform $></li>
<@- endfor @> <@- endfor @>
</ul> </ul>
<@ endif @> <@ endif @> <@ endfor @> <@ endif -@> <# --- end of: if doc.decorators --- #> <# --- Plugin usage --- #> <@ if doc.usage
<@ endfor @> @>
<@ endif -@> <# --- end of: if doc.decorators --- #>
<# --- Plugin usage --- #>
<@ if doc.usage @>
<h2><a class="anchor" name="usage" href="#usage"></a>Usage</h2> <h2><a class="anchor" name="usage" href="#usage"></a>Usage</h2>
<$ doc.usage | marked $> <$ doc.usage | marked $> <@ endif @> <# --- Plugin attributes --- #> <@- if doc.properties -@>
<@ endif @>
<# --- Plugin attributes --- #>
<@- if doc.properties -@>
<h2><a class="anchor" name="attributes" href="#attributes"></a>Attributes:</h2> <h2><a class="anchor" name="attributes" href="#attributes"></a>Attributes:</h2>
<table class="table" style="margin:0;"> <table class="table" style="margin: 0;">
<thead> <thead>
<tr> <tr>
<th>Attribute</th> <th>Attribute</th>
<@ set hasTypes = false @> <@ set hasTypes = false @> <@ for prop in doc.properties @> <@ if prop.type @> <@ set hasTypes = true @> <@ endif
<@ for prop in doc.properties @> @> <@ endfor @> <@ if hasTypes @>
<@ if prop.type @> <th>Type</th>
<@ set hasTypes = true @> <@ endif @>
<@ endif @> <th>Description</th>
<@ endfor @> </tr>
<@ if hasTypes @>
<th>Type</th>
<@ endif @>
<th>Description</th>
</tr>
</thead> </thead>
<tbody> <tbody>
<@- for prop in doc.properties -@> <@- for prop in doc.properties -@>
<tr> <tr>
<td> <td>
<$ prop.name $> <$ prop.name $>
</td> </td>
<@ if hasTypes @> <@ if hasTypes @>
<td> <td>
<$ prop.type.name $> <$ prop.type.name $>
</td> </td>
<@ endif @> <@ endif @>
<td> <td>
<$ prop.description $> <$ prop.description $>
</td> </td>
</tr> </tr>
<@ endfor -@> <@ endfor -@>
</tbody> </tbody>
</table> </table>
<@- endif -@> <@- endif -@> <# --- Plugin class documentation --- #> <$ documentClass(doc) $> <# --- Advanced usage --- #> <@- if
doc.advanced -@>
<# --- Plugin class documentation --- #>
<$ documentClass(doc) $>
<# --- Advanced usage --- #>
<@- if doc.advanced -@>
<h2><a class="anchor" name="advanced" href="#advanced"></a>Advanced</h2> <h2><a class="anchor" name="advanced" href="#advanced"></a>Advanced</h2>
<$ doc.advanced | marked $> <$ doc.advanced | marked $> <@- endif -@> <# --- Other classes --- #> <@- for tag in doc.tags.tags -@> <@- if
<@- endif -@> tag.tagName == 'classes' -@> <@- set classes = tag.description.split('\n') -@> <@- for item in classes -@> <@- if
item.length > 1 -@> <@- for export in doc.moduleDoc.exports -@> <@- if export.name == item -@>
<# --- Other classes --- #>
<@- for tag in doc.tags.tags -@>
<@- if tag.tagName == 'classes' -@>
<@- set classes = tag.description.split('\n') -@>
<@- for item in classes -@>
<@- if item.length > 1 -@>
<@- for export in doc.moduleDoc.exports -@>
<@- if export.name == item -@>
<h2><a class="anchor" name="<$ item $>" href="#<$ item $>"></a><$ item $></h2> <h2><a class="anchor" name="<$ item $>" href="#<$ item $>"></a><$ item $></h2>
<$ documentClass(export) $> <$ documentClass(export) $> <@- endif -@> <@- endfor -@> <@- endif -@> <@- endfor -@> <@- endif -@> <@- endfor -@> <#
<@- endif -@> --- Other interfaces --- #> <@ for tag in doc.tags.tags -@> <@ if tag.tagName == 'interfaces' @> <@ set interfaces =
<@- endfor -@> tag.description.split('\n') @> <@ for item in interfaces -@> <@ if item.length > 1 @>
<@- endif -@>
<@- endfor -@>
<@- endif -@>
<@- endfor -@>
<# --- Other interfaces --- #>
<@ for tag in doc.tags.tags -@>
<@ if tag.tagName == 'interfaces' @>
<@ set interfaces = tag.description.split('\n') @>
<@ for item in interfaces -@>
<@ if item.length > 1 @>
<h2><a class="anchor" name="<$ item $>" href="#<$ item $>"></a><$ item $></h2> <h2><a class="anchor" name="<$ item $>" href="#<$ item $>"></a><$ item $></h2>
<$ interfaceTable(item) $> <$ interfaceTable(item) $> <@ endif @> <@- endfor @> <@ endif @> <@- endfor @> <# --- Related links --- #> <@- if
<@ endif @> doc.see @>
<@- endfor @>
<@ endif @>
<@- endfor @>
<# --- Related links --- #>
<@- if doc.see @>
<h2><a class="anchor" name="related" href="#related"></a>Related</h2> <h2><a class="anchor" name="related" href="#related"></a>Related</h2>
<@ for s in doc.see @> <@ for s in doc.see @> <$ s | safe $> <@- endfor -@> <@- endif -@>
<$ s | safe $>
<@- endfor -@>
<@- endif -@>

View File

@ -6,5 +6,9 @@
</li> </li>
<@- for doc in docs @><@ if doc.URL and doc.private != true @> <@- for doc in docs @><@ if doc.URL and doc.private != true @>
<li class="capitalize {% if page.id == '<$ doc.name|lower|dashify $>' %}active{% endif %}"> <li class="capitalize {% if page.id == '<$ doc.name|lower|dashify $>' %}active{% endif %}">
<a href="<$ doc.URL $>"><$ doc.name $><@ if doc.paid == true @> <span class="paid">Paid</span><@ endif @><@ if doc.beta == true @> <span class="beta">&beta;</span><@ endif @></a> <a href="<$ doc.URL $>"
</li><@ endif @><@ endfor @> ><$ doc.name $><@ if doc.paid == true @> <span class="paid">Paid</span><@ endif @><@ if doc.beta == true @>
<span class="beta">&beta;</span><@ endif @></a
>
</li>
<@ endif @><@ endfor @>

View File

@ -5,6 +5,7 @@
# <$ doc.name $> # <$ doc.name $>
<@- if doc.beta == true @> <@- if doc.beta == true @>
<p style="color:orange"> <p style="color:orange">
This plugin is still in beta stage and may not work as expected. Please This plugin is still in beta stage and may not work as expected. Please
submit any issues to the <a target="_blank" submit any issues to the <a target="_blank"
@ -12,7 +13,6 @@
</p> </p>
<@ endif -@> <@ endif -@>
<@ for prop in doc.decorators[0].argumentInfo @> <@ for prop in doc.decorators[0].argumentInfo @>
``` ```
@ -29,9 +29,11 @@ Plugin Repo: [<$ prop.repo $>](<$ prop.repo $>)
<@- if prop.platforms @> <@- if prop.platforms @>
## Supported platforms ## Supported platforms
<@ for platform in prop.platforms -@> <@ for platform in prop.platforms -@>
- <$ platform $> - <$ platform $>
<@ endfor @> <@ endfor @>
<@ endif -@> <@ endif -@>

View File

@ -7,5 +7,5 @@ const LOG_LEVEL = 'verbose';
export const Logger = createLogger({ export const Logger = createLogger({
level: LOG_LEVEL, level: LOG_LEVEL,
format: combine(colorize(), simple()), format: combine(colorize(), simple()),
transports: [new transports.Console({ level: LOG_LEVEL })] transports: [new transports.Console({ level: LOG_LEVEL })],
}); });

View File

@ -5,26 +5,20 @@ import * as unminifiedPlugin from 'unminified-webpack-plugin';
import * as webpack from 'webpack'; import * as webpack from 'webpack';
import { ROOT } from '../build/helpers'; import { ROOT } from '../build/helpers';
import { import { cleanEmittedData, EMIT_PATH, InjectableClassEntry } from '../build/transformers/extract-injectables';
cleanEmittedData,
EMIT_PATH,
InjectableClassEntry
} from '../build/transformers/extract-injectables';
import { Logger } from '../logger'; import { Logger } from '../logger';
const DIST = path.resolve(ROOT, 'dist'); const DIST = path.resolve(ROOT, 'dist');
const INDEX_PATH = path.resolve(DIST, 'index.js'); const INDEX_PATH = path.resolve(DIST, 'index.js');
const INJECTABLE_CLASSES = fs const INJECTABLE_CLASSES = fs.readJSONSync(EMIT_PATH).map((item: InjectableClassEntry) => {
.readJSONSync(EMIT_PATH) item.file =
.map((item: InjectableClassEntry) => { './' +
item.file = item.file
'./' + .split(/[\/\\]+/)
item.file .slice(-4, -1)
.split(/[\/\\]+/) .join('/');
.slice(-4, -1) return item;
.join('/'); });
return item;
});
const webpackConfig: webpack.Configuration = { const webpackConfig: webpack.Configuration = {
mode: 'production', mode: 'production',
@ -33,36 +27,36 @@ const webpackConfig: webpack.Configuration = {
target: 'web', target: 'web',
output: { output: {
path: DIST, path: DIST,
filename: 'ionic-native.min.js' filename: 'ionic-native.min.js',
}, },
resolve: { resolve: {
modules: ['node_modules'], modules: ['node_modules'],
extensions: ['.js'], extensions: ['.js'],
alias: { alias: {
'@ionic-native/core': path.resolve(DIST, '@ionic-native/core/index.js') '@ionic-native/core': path.resolve(DIST, '@ionic-native/core/index.js'),
} },
}, },
module: { module: {
rules: [ rules: [
{ {
test: /\.js$/, test: /\.js$/,
use: path.resolve(ROOT, 'scripts/build/remove-tslib-helpers.js') use: path.resolve(ROOT, 'scripts/build/remove-tslib-helpers.js'),
} },
] ],
}, },
plugins: [ plugins: [
new webpack.ProvidePlugin({ new webpack.ProvidePlugin({
__extends: ['tslib', '__extends'] __extends: ['tslib', '__extends'],
}), }),
new webpack.optimize.OccurrenceOrderPlugin(true), new webpack.optimize.OccurrenceOrderPlugin(true),
new webpack.DefinePlugin({ new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production') 'process.env.NODE_ENV': JSON.stringify('production'),
}), }),
new uglifyJsPlugin({ new uglifyJsPlugin({
sourceMap: true sourceMap: true,
}), }),
new unminifiedPlugin() new unminifiedPlugin(),
] ],
}; };
function getPluginImport(entry: InjectableClassEntry) { function getPluginImport(entry: InjectableClassEntry) {

View File

@ -14,30 +14,21 @@ const outDirs = PLUGIN_PATHS.map(p =>
const injectableClasses = fs.readJSONSync(EMIT_PATH); const injectableClasses = fs.readJSONSync(EMIT_PATH);
outDirs.forEach(dir => { outDirs.forEach(dir => {
const classes = injectableClasses.filter( const classes = injectableClasses.filter(entry => entry.dirName === dir.split(/[\\/]+/).pop());
entry => entry.dirName === dir.split(/[\\/]+/).pop()
);
let jsFile: string = fs.readFileSync(path.join(dir, 'index.js'), 'utf-8'), let jsFile: string = fs.readFileSync(path.join(dir, 'index.js'), 'utf-8'),
dtsFile: string = fs.readFileSync(path.join(dir, 'index.d.ts'), 'utf-8'); dtsFile: string = fs.readFileSync(path.join(dir, 'index.d.ts'), 'utf-8');
classes.forEach(entry => { classes.forEach(entry => {
dtsFile = dtsFile.replace( dtsFile = dtsFile.replace(`class ${entry.className} `, 'class ' + entry.className + 'Original ');
`class ${entry.className} `, dtsFile += `\nexport declare const ${entry.className}: ${entry.className}Original;`;
'class ' + entry.className + 'Original '
);
dtsFile += `\nexport declare const ${entry.className}: ${
entry.className
}Original;`;
jsFile = jsFile.replace( jsFile = jsFile.replace(
new RegExp(`([\\s\\(])${entry.className}([\\s\\.;\\(,])`, 'g'), new RegExp(`([\\s\\(])${entry.className}([\\s\\.;\\(,])`, 'g'),
'$1' + entry.className + 'Original$2' '$1' + entry.className + 'Original$2'
); );
jsFile = jsFile.replace( jsFile = jsFile.replace(
`export { ${entry.className}Original }`, `export { ${entry.className}Original }`,
`var ${entry.className} = new ${entry.className}Original();\nexport { ${ `var ${entry.className} = new ${entry.className}Original();\nexport { ${entry.className} }`
entry.className
} }`
); );
}); });

View File

@ -1,10 +1,4 @@
import { import { cleanupNgx, generateDeclarationFiles, modifyMetadata, transpileNgx, transpileNgxCore } from '../build/ngx';
cleanupNgx,
generateDeclarationFiles,
modifyMetadata,
transpileNgx,
transpileNgxCore
} from '../build/ngx';
transpileNgxCore(); transpileNgxCore();
transpileNgx(); transpileNgx();

View File

@ -21,8 +21,8 @@ const PACKAGE_JSON_BASE = {
license: 'MIT', license: 'MIT',
repository: { repository: {
type: 'git', type: 'git',
url: 'https://github.com/ionic-team/ionic-native.git' url: 'https://github.com/ionic-team/ionic-native.git',
} },
}; };
const DIST = path.resolve(ROOT, 'dist/@ionic-native'); const DIST = path.resolve(ROOT, 'dist/@ionic-native');
@ -34,16 +34,15 @@ const RXJS_VERSION = '^5.5.0 || ^6.5.0';
const PLUGIN_PEER_DEPENDENCIES = { const PLUGIN_PEER_DEPENDENCIES = {
'@ionic-native/core': MIN_CORE_VERSION, '@ionic-native/core': MIN_CORE_VERSION,
rxjs: RXJS_VERSION rxjs: RXJS_VERSION,
}; };
function getPackageJsonContent(name: string, peerDependencies = {}, dependencies = {}) { function getPackageJsonContent(name: string, peerDependencies = {}, dependencies = {}) {
return merge(PACKAGE_JSON_BASE, { return merge(PACKAGE_JSON_BASE, {
name: '@ionic-native/' + name, name: '@ionic-native/' + name,
dependencies, dependencies,
peerDependencies, peerDependencies,
version: VERSION version: VERSION,
}); });
} }
@ -52,7 +51,7 @@ function writePackageJson(data: any, dir: string) {
fs.writeJSONSync(filePath, data); fs.writeJSONSync(filePath, data);
PACKAGES.push(dir); PACKAGES.push(dir);
} }
function writeNGXPackageJson(data: any, dir: string){ function writeNGXPackageJson(data: any, dir: string) {
const filePath = path.resolve(dir, 'package.json'); const filePath = path.resolve(dir, 'package.json');
fs.writeJSONSync(filePath, data); fs.writeJSONSync(filePath, data);
} }
@ -87,9 +86,7 @@ async function publish(ignoreErrors = false) {
} }
if (err) { if (err) {
if (!ignoreErrors) { if (!ignoreErrors) {
if ( if (err.message.includes('You cannot publish over the previously published version')) {
err.message.includes('You cannot publish over the previously published version')
) {
Logger.verbose('Ignoring duplicate version error.'); Logger.verbose('Ignoring duplicate version error.');
return resolve(); return resolve();
} }

View File

@ -6,7 +6,5 @@
"noImplicitAny": false, "noImplicitAny": false,
"lib": ["es6"] "lib": ["es6"]
}, },
"exclude": [ "exclude": ["node_modules"]
"node_modules"
]
} }

View File

@ -22,9 +22,7 @@ export function getPromise<T>(callback: (resolve: Function, reject?: Function) =
if (typeof window !== 'undefined' && window.angular) { if (typeof window !== 'undefined' && window.angular) {
const doc = window.document; const doc = window.document;
const injector = window.angular const injector = window.angular.element(doc.querySelector('[ng-app]') || doc.body).injector();
.element(doc.querySelector('[ng-app]') || doc.body)
.injector();
if (injector) { if (injector) {
const $q = injector.get('$q'); const $q = injector.get('$q');
return $q((resolve: Function, reject: Function) => { return $q((resolve: Function, reject: Function) => {
@ -39,12 +37,7 @@ export function getPromise<T>(callback: (resolve: Function, reject?: Function) =
return tryNativePromise(); return tryNativePromise();
} }
export function wrapPromise( export function wrapPromise(pluginObj: any, methodName: string, args: any[], opts: CordovaOptions = {}) {
pluginObj: any,
methodName: string,
args: any[],
opts: CordovaOptions = {}
) {
let pluginResult: any, rej: Function; let pluginResult: any, rej: Function;
const p = getPromise((resolve: Function, reject: Function) => { const p = getPromise((resolve: Function, reject: Function) => {
if (opts.destruct) { if (opts.destruct) {
@ -149,7 +142,10 @@ function wrapObservable(pluginObj: any, methodName: string, args: any[], opts: a
* @returns {Observable} * @returns {Observable}
*/ */
function wrapEventObservable(event: string, element: any): Observable<any> { function wrapEventObservable(event: string, element: any): Observable<any> {
element = (typeof window !== 'undefined' && element) ? get(window, element) : element || (typeof window !== 'undefined' ? window : {}); element =
typeof window !== 'undefined' && element
? get(window, element)
: element || (typeof window !== 'undefined' ? window : {});
return fromEvent(element, event); return fromEvent(element, event);
} }
@ -168,11 +164,7 @@ export function checkAvailability(
methodName?: string, methodName?: string,
pluginName?: string pluginName?: string
): boolean | { error: string }; ): boolean | { error: string };
export function checkAvailability( export function checkAvailability(plugin: any, methodName?: string, pluginName?: string): boolean | { error: string } {
plugin: any,
methodName?: string,
pluginName?: string
): boolean | { error: string } {
let pluginRef, pluginInstance, pluginPackage; let pluginRef, pluginInstance, pluginPackage;
if (typeof plugin === 'string') { if (typeof plugin === 'string') {
@ -203,10 +195,7 @@ export function checkAvailability(
* @private * @private
*/ */
export function instanceAvailability(pluginObj: any, methodName?: string): boolean { export function instanceAvailability(pluginObj: any, methodName?: string): boolean {
return ( return pluginObj._objectInstance && (!methodName || typeof pluginObj._objectInstance[methodName] !== 'undefined');
pluginObj._objectInstance &&
(!methodName || typeof pluginObj._objectInstance[methodName] !== 'undefined')
);
} }
export function setIndex(args: any[], opts: any = {}, resolve?: Function, reject?: Function): any { export function setIndex(args: any[], opts: any = {}, resolve?: Function, reject?: Function): any {
@ -328,13 +317,7 @@ export function get(element: Element | Window, path: string) {
export function pluginWarn(pluginName: string, plugin?: string, method?: string): void { export function pluginWarn(pluginName: string, plugin?: string, method?: string): void {
if (method) { if (method) {
console.warn( console.warn(
'Native: tried calling ' + 'Native: tried calling ' + pluginName + '.' + method + ', but the ' + pluginName + ' plugin is not installed.'
pluginName +
'.' +
method +
', but the ' +
pluginName +
' plugin is not installed.'
); );
} else { } else {
console.warn(`Native: tried accessing the ${pluginName} plugin but it's not installed.`); console.warn(`Native: tried accessing the ${pluginName} plugin but it's not installed.`);

View File

@ -17,10 +17,6 @@ function overrideFunction(pluginObj: any, methodName: string): Observable<any> {
}); });
} }
export function cordovaFunctionOverride( export function cordovaFunctionOverride(pluginObj: any, methodName: string, args: IArguments | any[] = []) {
pluginObj: any,
methodName: string,
args: IArguments | any[] = []
) {
return overrideFunction(pluginObj, methodName); return overrideFunction(pluginObj, methodName);
} }

View File

@ -1,12 +1,7 @@
import { wrapInstance } from './common'; import { wrapInstance } from './common';
import { CordovaOptions } from './interfaces'; import { CordovaOptions } from './interfaces';
export function cordovaInstance( export function cordovaInstance(pluginObj: any, methodName: string, config: CordovaOptions, args: IArguments | any[]) {
pluginObj: any,
methodName: string,
config: CordovaOptions,
args: IArguments | any[]
) {
args = Array.from(args); args = Array.from(args);
return wrapInstance(pluginObj, methodName, config).apply(this, args); return wrapInstance(pluginObj, methodName, config).apply(this, args);
} }

View File

@ -1,11 +1,6 @@
import { wrap } from './common'; import { wrap } from './common';
import { CordovaOptions } from './interfaces'; import { CordovaOptions } from './interfaces';
export function cordova( export function cordova(pluginObj: any, methodName: string, config: CordovaOptions, args: IArguments | any[]) {
pluginObj: any,
methodName: string,
config: CordovaOptions,
args: IArguments | any[]
) {
return wrap(pluginObj, methodName, config).apply(this, args); return wrap(pluginObj, methodName, config).apply(this, args);
} }

View File

@ -19,7 +19,7 @@ export function initAngular1(plugins: any) {
const funcs = window.angular.copy(cls); const funcs = window.angular.copy(cls);
funcs.__proto__['name'] = name; funcs.__proto__['name'] = name;
return funcs; return funcs;
} },
]); ]);
})(serviceName, cls, name); })(serviceName, cls, name);
} }

View File

@ -299,7 +299,7 @@ export interface DataCaptureResult {
pluginRef: 'AbbyyRtrSdk', pluginRef: 'AbbyyRtrSdk',
repo: 'https://github.com/abbyysdk/RTR-SDK.Cordova', repo: 'https://github.com/abbyysdk/RTR-SDK.Cordova',
install: 'ionic cordova plugin add cordova-plugin-abbyy-rtr-sdk', install: 'ionic cordova plugin add cordova-plugin-abbyy-rtr-sdk',
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
@Injectable() @Injectable()
export class AbbyyRTR extends IonicNativePlugin { export class AbbyyRTR extends IonicNativePlugin {

View File

@ -93,7 +93,7 @@ export interface ActionSheetOptions {
plugin: 'cordova-plugin-actionsheet', plugin: 'cordova-plugin-actionsheet',
pluginRef: 'plugins.actionsheet', pluginRef: 'plugins.actionsheet',
repo: 'https://github.com/EddyVerbruggen/cordova-plugin-actionsheet', repo: 'https://github.com/EddyVerbruggen/cordova-plugin-actionsheet',
platforms: ['Android', 'Browser', 'iOS', 'Windows', 'Windows Phone 8'] platforms: ['Android', 'Browser', 'iOS', 'Windows', 'Windows Phone 8'],
}) })
@Injectable() @Injectable()
export class ActionSheet extends IonicNativePlugin { export class ActionSheet extends IonicNativePlugin {
@ -111,7 +111,7 @@ export class ActionSheet extends IonicNativePlugin {
THEME_HOLO_DARK: 2, THEME_HOLO_DARK: 2,
THEME_HOLO_LIGHT: 3, THEME_HOLO_LIGHT: 3,
THEME_DEVICE_DEFAULT_DARK: 4, THEME_DEVICE_DEFAULT_DARK: 4,
THEME_DEVICE_DEFAULT_LIGHT: 5 THEME_DEVICE_DEFAULT_LIGHT: 5,
}; };
/** /**

View File

@ -117,15 +117,11 @@ export class AdjustConfig {
this.attributionCallback = attributionCallback; this.attributionCallback = attributionCallback;
} }
setEventTrackingSucceededCallbackListener( setEventTrackingSucceededCallbackListener(eventTrackingSucceededCallback: (event: AdjustEventSuccess) => void) {
eventTrackingSucceededCallback: (event: AdjustEventSuccess) => void
) {
this.eventTrackingSucceededCallback = eventTrackingSucceededCallback; this.eventTrackingSucceededCallback = eventTrackingSucceededCallback;
} }
setEventTrackingFailedCallbackListener( setEventTrackingFailedCallbackListener(eventTrackingFailedCallback: (event: AdjustEventFailure) => void) {
eventTrackingFailedCallback: (event: AdjustEventFailure) => void
) {
this.eventTrackingFailedCallback = eventTrackingFailedCallback; this.eventTrackingFailedCallback = eventTrackingFailedCallback;
} }
@ -135,9 +131,7 @@ export class AdjustConfig {
this.sessionTrackingSucceededCallback = sessionTrackingSucceededCallback; this.sessionTrackingSucceededCallback = sessionTrackingSucceededCallback;
} }
setSessionTrackingFailedCallbackListener( setSessionTrackingFailedCallbackListener(sessionTrackingFailedCallback: (session: AdjustSessionFailure) => void) {
sessionTrackingFailedCallback: (session: AdjustSessionFailure) => void
) {
this.sessionTrackingFailedCallback = sessionTrackingFailedCallback; this.sessionTrackingFailedCallback = sessionTrackingFailedCallback;
} }
@ -241,7 +235,7 @@ export interface AdjustEventFailure {
export enum AdjustEnvironment { export enum AdjustEnvironment {
Sandbox = 'sandbox', Sandbox = 'sandbox',
Production = 'production' Production = 'production',
} }
export enum AdjustLogLevel { export enum AdjustLogLevel {
@ -251,7 +245,7 @@ export enum AdjustLogLevel {
Warn = 'WARN', Warn = 'WARN',
Error = 'ERROR', Error = 'ERROR',
Assert = 'ASSERT', Assert = 'ASSERT',
Suppress = 'SUPPRESS' Suppress = 'SUPPRESS',
} }
/** /**
@ -293,7 +287,7 @@ export enum AdjustLogLevel {
plugin: 'com.adjust.sdk', plugin: 'com.adjust.sdk',
pluginRef: 'Adjust', pluginRef: 'Adjust',
repo: 'https://github.com/adjust/cordova_sdk', repo: 'https://github.com/adjust/cordova_sdk',
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
@Injectable() @Injectable()
export class Adjust extends IonicNativePlugin { export class Adjust extends IonicNativePlugin {

View File

@ -31,7 +31,7 @@ export interface AdMobFreeBannerConfig {
* Location targeting. It accept an array in the form of `[latitude, longitude]`. * Location targeting. It accept an array in the form of `[latitude, longitude]`.
* Android-only. Default is not calling `setLatitude` and `setLongitude`. * Android-only. Default is not calling `setLatitude` and `setLongitude`.
*/ */
location?: (number)[] | null; location?: number[] | null;
/** /**
* Set to true, to put banner at top * Set to true, to put banner at top
*/ */
@ -79,7 +79,7 @@ export interface AdMobFreeInterstitialConfig {
* Location targeting. It accept an array in the form of `[latitude, longitude]`. * Location targeting. It accept an array in the form of `[latitude, longitude]`.
* Android-only. Default is not calling `setLatitude` and `setLongitude`. * Android-only. Default is not calling `setLatitude` and `setLongitude`.
*/ */
location?: (number)[] | null; location?: number[] | null;
} }
export interface AdMobFreeRewardVideoConfig { export interface AdMobFreeRewardVideoConfig {
@ -111,7 +111,7 @@ export interface AdMobFreeRewardVideoConfig {
* Location targeting. It accept an array in the form of `[latitude, longitude]`. * Location targeting. It accept an array in the form of `[latitude, longitude]`.
* Android-only. Default is not calling `setLatitude` and `setLongitude`. * Android-only. Default is not calling `setLatitude` and `setLongitude`.
*/ */
location?: (number)[] | null; location?: number[] | null;
} }
/** /**
@ -163,7 +163,7 @@ export interface AdMobFreeRewardVideoConfig {
plugin: 'cordova-plugin-admob-free', plugin: 'cordova-plugin-admob-free',
pluginRef: 'admob', pluginRef: 'admob',
repo: 'https://github.com/ratson/cordova-plugin-admob-free', repo: 'https://github.com/ratson/cordova-plugin-admob-free',
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
@Injectable() @Injectable()
export class AdMobFree extends IonicNativePlugin { export class AdMobFree extends IonicNativePlugin {
@ -190,7 +190,7 @@ export class AdMobFree extends IonicNativePlugin {
REWARD_VIDEO_CLOSE: 'admob.rewardvideo.events.CLOSE', REWARD_VIDEO_CLOSE: 'admob.rewardvideo.events.CLOSE',
REWARD_VIDEO_EXIT_APP: 'admob.rewardvideo.events.EXIT_APP', REWARD_VIDEO_EXIT_APP: 'admob.rewardvideo.events.EXIT_APP',
REWARD_VIDEO_START: 'admob.rewardvideo.events.START', REWARD_VIDEO_START: 'admob.rewardvideo.events.START',
REWARD_VIDEO_REWARD: 'admob.rewardvideo.events.REWARD' REWARD_VIDEO_REWARD: 'admob.rewardvideo.events.REWARD',
}; };
/** /**
@ -227,7 +227,7 @@ export class AdMobFree extends IonicNativePlugin {
@Plugin({ @Plugin({
pluginName: 'AdMobFree', pluginName: 'AdMobFree',
plugin: 'cordova-plugin-admob-free', plugin: 'cordova-plugin-admob-free',
pluginRef: 'admob.banner' pluginRef: 'admob.banner',
}) })
export class AdMobFreeBanner extends IonicNativePlugin { export class AdMobFreeBanner extends IonicNativePlugin {
/** /**
@ -283,7 +283,7 @@ export class AdMobFreeBanner extends IonicNativePlugin {
@Plugin({ @Plugin({
pluginName: 'AdMobFree', pluginName: 'AdMobFree',
plugin: 'cordova-plugin-admob-free', plugin: 'cordova-plugin-admob-free',
pluginRef: 'admob.interstitial' pluginRef: 'admob.interstitial',
}) })
export class AdMobFreeInterstitial extends IonicNativePlugin { export class AdMobFreeInterstitial extends IonicNativePlugin {
/** /**
@ -330,7 +330,7 @@ export class AdMobFreeInterstitial extends IonicNativePlugin {
@Plugin({ @Plugin({
pluginName: 'AdMobFree', pluginName: 'AdMobFree',
plugin: 'cordova-plugin-admob-free', plugin: 'cordova-plugin-admob-free',
pluginRef: 'admob.rewardvideo' pluginRef: 'admob.rewardvideo',
}) })
export class AdMobFreeRewardVideo extends IonicNativePlugin { export class AdMobFreeRewardVideo extends IonicNativePlugin {
/** /**

View File

@ -2,10 +2,12 @@ import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
import { Observable, fromEvent } from 'rxjs'; import { Observable, fromEvent } from 'rxjs';
export type AdUnitIDOption = string | { export type AdUnitIDOption =
android: string; | string
ios: string; | {
}; android: string;
ios: string;
};
/** /**
* @name AdMob Plus * @name AdMob Plus
@ -13,87 +15,87 @@ export type AdUnitIDOption = string | {
* AdMob Plus is the successor of cordova-plugin-admob-free, which provides a cleaner API and build with modern tools. * AdMob Plus is the successor of cordova-plugin-admob-free, which provides a cleaner API and build with modern tools.
*/ */
@Plugin({ @Plugin({
plugin: 'cordova-admob-plus', plugin: 'cordova-admob-plus',
pluginName: 'AdMob', pluginName: 'AdMob',
pluginRef: 'admob.banner', pluginRef: 'admob.banner',
repo: 'https://github.com/admob-plus/admob-plus', repo: 'https://github.com/admob-plus/admob-plus',
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
export class Banner { export class Banner {
@Cordova({ otherPromise: true }) @Cordova({ otherPromise: true })
hide(): Promise<any> { hide(): Promise<any> {
return Promise.resolve(); return Promise.resolve();
} }
@Cordova({ otherPromise: true }) @Cordova({ otherPromise: true })
show(opts: { id?: AdUnitIDOption }): Promise<any> { show(opts: { id?: AdUnitIDOption }): Promise<any> {
return Promise.resolve(); return Promise.resolve();
} }
} }
@Plugin({ @Plugin({
plugin: 'cordova-admob-plus', plugin: 'cordova-admob-plus',
pluginName: 'AdMob', pluginName: 'AdMob',
pluginRef: 'admob.interstitial', pluginRef: 'admob.interstitial',
}) })
export class Interstitial { export class Interstitial {
@Cordova({ otherPromise: true }) @Cordova({ otherPromise: true })
load(opts: { id?: AdUnitIDOption }): Promise<any> { load(opts: { id?: AdUnitIDOption }): Promise<any> {
return Promise.resolve(); return Promise.resolve();
} }
@Cordova({ otherPromise: true }) @Cordova({ otherPromise: true })
show(): Promise<any> { show(): Promise<any> {
return Promise.resolve(); return Promise.resolve();
} }
} }
@Plugin({ @Plugin({
plugin: 'cordova-admob-plus', plugin: 'cordova-admob-plus',
pluginName: 'AdMob', pluginName: 'AdMob',
pluginRef: 'admob.rewardVideo', pluginRef: 'admob.rewardVideo',
}) })
export class RewardVideo { export class RewardVideo {
@Cordova({ otherPromise: true }) @Cordova({ otherPromise: true })
load(opts: { id?: AdUnitIDOption }): Promise<any> { load(opts: { id?: AdUnitIDOption }): Promise<any> {
return Promise.resolve(); return Promise.resolve();
} }
@Cordova({ otherPromise: true }) @Cordova({ otherPromise: true })
show(): Promise<any> { show(): Promise<any> {
return Promise.resolve(); return Promise.resolve();
} }
} }
@Plugin({ @Plugin({
platforms: ['Android', 'iOS'], platforms: ['Android', 'iOS'],
plugin: 'cordova-admob-plus', plugin: 'cordova-admob-plus',
pluginName: 'AdMob', pluginName: 'AdMob',
pluginRef: 'admob', pluginRef: 'admob',
repo: 'https://github.com/admob-plus/admob-plus', repo: 'https://github.com/admob-plus/admob-plus',
}) })
@Injectable() @Injectable()
export class AdMob extends IonicNativePlugin { export class AdMob extends IonicNativePlugin {
banner = new Banner(); banner = new Banner();
interstitial = new Interstitial(); interstitial = new Interstitial();
rewardVideo = new RewardVideo(); rewardVideo = new RewardVideo();
@Cordova({ otherPromise: true }) @Cordova({ otherPromise: true })
setAppMuted(value: boolean): Promise<any> { setAppMuted(value: boolean): Promise<any> {
return Promise.resolve(); return Promise.resolve();
} }
@Cordova({ otherPromise: true }) @Cordova({ otherPromise: true })
setAppVolume(value: number): Promise<any> { setAppVolume(value: number): Promise<any> {
return Promise.resolve(); return Promise.resolve();
} }
@Cordova({ sync: true }) @Cordova({ sync: true })
setDevMode(value: boolean): void { setDevMode(value: boolean): void {
return undefined; return undefined;
} }
on(event: string): Observable<any> { on(event: string): Observable<any> {
return fromEvent(document, event); return fromEvent(document, event);
} }
} }

View File

@ -138,7 +138,7 @@ export interface AdExtras {
plugin: 'cordova-plugin-admobpro', plugin: 'cordova-plugin-admobpro',
pluginRef: 'AdMob', pluginRef: 'AdMob',
repo: 'https://github.com/floatinghotpot/cordova-admob-pro', repo: 'https://github.com/floatinghotpot/cordova-admob-pro',
platforms: ['Android', 'iOS', 'Windows Phone 8'] platforms: ['Android', 'iOS', 'Windows Phone 8'],
}) })
@Injectable() @Injectable()
export class AdMobPro extends IonicNativePlugin { export class AdMobPro extends IonicNativePlugin {
@ -165,7 +165,7 @@ export class AdMobPro extends IonicNativePlugin {
BOTTOM_LEFT: 7, BOTTOM_LEFT: 7,
BOTTOM_CENTER: 8, BOTTOM_CENTER: 8,
BOTTOM_RIGHT: 9, BOTTOM_RIGHT: 9,
POS_XY: 10 POS_XY: 10,
}; };
/** /**
@ -182,7 +182,7 @@ export class AdMobPro extends IonicNativePlugin {
* Destroy the banner, remove it from screen. * Destroy the banner, remove it from screen.
*/ */
@Cordova({ @Cordova({
sync: true sync: true,
}) })
removeBanner(): void {} removeBanner(): void {}
@ -191,7 +191,7 @@ export class AdMobPro extends IonicNativePlugin {
* @param {number} position Position. Use `AdMobPro.AD_POSITION` to set values. * @param {number} position Position. Use `AdMobPro.AD_POSITION` to set values.
*/ */
@Cordova({ @Cordova({
sync: true sync: true,
}) })
showBanner(position: number): void {} showBanner(position: number): void {}
@ -201,7 +201,7 @@ export class AdMobPro extends IonicNativePlugin {
* @param {number} y Offset from screen top. * @param {number} y Offset from screen top.
*/ */
@Cordova({ @Cordova({
sync: true sync: true,
}) })
showBannerAtXY(x: number, y: number): void {} showBannerAtXY(x: number, y: number): void {}
@ -209,7 +209,7 @@ export class AdMobPro extends IonicNativePlugin {
* Hide the banner, remove it from screen, but can show it later * Hide the banner, remove it from screen, but can show it later
*/ */
@Cordova({ @Cordova({
sync: true sync: true,
}) })
hideBanner(): void {} hideBanner(): void {}
@ -227,7 +227,7 @@ export class AdMobPro extends IonicNativePlugin {
* Show interstitial ad when it's ready * Show interstitial ad when it's ready
*/ */
@Cordova({ @Cordova({
sync: true sync: true,
}) })
showInterstitial(): void {} showInterstitial(): void {}
@ -245,7 +245,7 @@ export class AdMobPro extends IonicNativePlugin {
* Show a reward video ad * Show a reward video ad
*/ */
@Cordova({ @Cordova({
sync: true sync: true,
}) })
showRewardVideoAd(): void {} showRewardVideoAd(): void {}
@ -275,7 +275,7 @@ export class AdMobPro extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onAdFailLoad', event: 'onAdFailLoad',
element: 'document' element: 'document',
}) })
onAdFailLoad(): Observable<any> { onAdFailLoad(): Observable<any> {
return; return;
@ -288,7 +288,7 @@ export class AdMobPro extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onAdLoaded', event: 'onAdLoaded',
element: 'document' element: 'document',
}) })
onAdLoaded(): Observable<any> { onAdLoaded(): Observable<any> {
return; return;
@ -301,7 +301,7 @@ export class AdMobPro extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onAdPresent', event: 'onAdPresent',
element: 'document' element: 'document',
}) })
onAdPresent(): Observable<any> { onAdPresent(): Observable<any> {
return; return;
@ -314,7 +314,7 @@ export class AdMobPro extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onAdLeaveApp', event: 'onAdLeaveApp',
element: 'document' element: 'document',
}) })
onAdLeaveApp(): Observable<any> { onAdLeaveApp(): Observable<any> {
return; return;
@ -327,7 +327,7 @@ export class AdMobPro extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onAdDismiss', event: 'onAdDismiss',
element: 'document' element: 'document',
}) })
onAdDismiss(): Observable<any> { onAdDismiss(): Observable<any> {
return; return;

View File

@ -257,7 +257,7 @@ export interface AdmobOptions {
plugin: 'cordova-admob', plugin: 'cordova-admob',
pluginRef: 'admob', pluginRef: 'admob',
repo: 'https://github.com/appfeel/admob-google-cordova', repo: 'https://github.com/appfeel/admob-google-cordova',
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
@Injectable() @Injectable()
export class Admob extends IonicNativePlugin { export class Admob extends IonicNativePlugin {
@ -375,7 +375,7 @@ export class Admob extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'appfeel.cordova.admob.onAdLoaded', event: 'appfeel.cordova.admob.onAdLoaded',
element: document element: document,
}) })
onAdLoaded(): Observable<any> { onAdLoaded(): Observable<any> {
return; return;
@ -388,7 +388,7 @@ export class Admob extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'appfeel.cordova.admob.onAdFailedToLoad', event: 'appfeel.cordova.admob.onAdFailedToLoad',
element: document element: document,
}) })
onAdFailedToLoad(): Observable<any> { onAdFailedToLoad(): Observable<any> {
return; return;
@ -402,7 +402,7 @@ export class Admob extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'appfeel.cordova.admob.onAdOpened', event: 'appfeel.cordova.admob.onAdOpened',
element: document element: document,
}) })
onAdOpened(): Observable<any> { onAdOpened(): Observable<any> {
return; return;
@ -416,7 +416,7 @@ export class Admob extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'appfeel.cordova.admob.onAdClosed', event: 'appfeel.cordova.admob.onAdClosed',
element: document element: document,
}) })
onAdClosed(): Observable<any> { onAdClosed(): Observable<any> {
return; return;
@ -429,7 +429,7 @@ export class Admob extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'appfeel.cordova.admob.onAdLeftApplication', event: 'appfeel.cordova.admob.onAdLeftApplication',
element: document element: document,
}) })
onAdLeftApplication(): Observable<any> { onAdLeftApplication(): Observable<any> {
return; return;
@ -442,7 +442,7 @@ export class Admob extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'appfeel.cordova.admob.onRewardedAd', event: 'appfeel.cordova.admob.onRewardedAd',
element: document element: document,
}) })
onRewardedAd(): Observable<any> { onRewardedAd(): Observable<any> {
return; return;
@ -455,7 +455,7 @@ export class Admob extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'appfeel.cordova.admob.onRewardedAdVideoStarted', event: 'appfeel.cordova.admob.onRewardedAdVideoStarted',
element: document element: document,
}) })
onRewardedAdVideoStarted(): Observable<any> { onRewardedAdVideoStarted(): Observable<any> {
return; return;
@ -468,7 +468,7 @@ export class Admob extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'appfeel.cordova.admob.onRewardedAdVideoCompleted', event: 'appfeel.cordova.admob.onRewardedAdVideoCompleted',
element: document element: document,
}) })
onRewardedAdVideoCompleted(): Observable<any> { onRewardedAdVideoCompleted(): Observable<any> {
return; return;

View File

@ -52,7 +52,7 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
pluginRef: 'cordova.plugins.AES256', pluginRef: 'cordova.plugins.AES256',
repo: 'https://github.com/Ideas2IT/cordova-aes256', repo: 'https://github.com/Ideas2IT/cordova-aes256',
platforms: ['Android', 'iOS'], platforms: ['Android', 'iOS'],
install: 'ionic cordova plugin add cordova-plugin-aes256-encryption' install: 'ionic cordova plugin add cordova-plugin-aes256-encryption',
}) })
@Injectable() @Injectable()
export class AES256 extends IonicNativePlugin { export class AES256 extends IonicNativePlugin {
@ -101,5 +101,4 @@ export class AES256 extends IonicNativePlugin {
generateSecureIV(password: string): Promise<string> { generateSecureIV(password: string): Promise<string> {
return; return;
} }
} }

View File

@ -34,7 +34,7 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
repo: 'https://github.com/jing-zhou/cordova-plugin-alipay', repo: 'https://github.com/jing-zhou/cordova-plugin-alipay',
install: 'ionic cordova plugin add cordova-plugin-gubnoi-alipay --variable APP_ID=your_app_id', install: 'ionic cordova plugin add cordova-plugin-gubnoi-alipay --variable APP_ID=your_app_id',
installVariables: ['APP_ID'], installVariables: ['APP_ID'],
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
@Injectable() @Injectable()
export class Alipay extends IonicNativePlugin { export class Alipay extends IonicNativePlugin {

View File

@ -58,7 +58,7 @@ import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-nati
plugin: 'cordova-plugin-analytics', plugin: 'cordova-plugin-analytics',
pluginRef: 'analytics', pluginRef: 'analytics',
repo: 'https://github.com/appfeel/analytics-google', repo: 'https://github.com/appfeel/analytics-google',
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
@Injectable() @Injectable()
export class AnalyticsFirebase extends IonicNativePlugin { export class AnalyticsFirebase extends IonicNativePlugin {

View File

@ -178,7 +178,7 @@ export interface AndroidExoPlayerControllerConfig {
plugin: 'cordova-plugin-exoplayer', plugin: 'cordova-plugin-exoplayer',
pluginRef: 'ExoPlayer', pluginRef: 'ExoPlayer',
repo: 'https://github.com/frontyard/cordova-plugin-exoplayer', repo: 'https://github.com/frontyard/cordova-plugin-exoplayer',
platforms: ['Android'] platforms: ['Android'],
}) })
@Injectable() @Injectable()
export class AndroidExoplayer extends IonicNativePlugin { export class AndroidExoplayer extends IonicNativePlugin {
@ -192,7 +192,7 @@ export class AndroidExoplayer extends IonicNativePlugin {
clearFunction: 'close', clearFunction: 'close',
clearWithArgs: false, clearWithArgs: false,
successIndex: 1, successIndex: 1,
errorIndex: 2 errorIndex: 2,
}) })
show(parameters: AndroidExoPlayerParams): Observable<AndroidExoplayerState> { show(parameters: AndroidExoPlayerParams): Observable<AndroidExoplayerState> {
return; return;
@ -205,10 +205,7 @@ export class AndroidExoplayer extends IonicNativePlugin {
* @return {Promise<void>} * @return {Promise<void>}
*/ */
@Cordova() @Cordova()
setStream( setStream(url: string, controller: AndroidExoPlayerControllerConfig): Promise<void> {
url: string,
controller: AndroidExoPlayerControllerConfig
): Promise<void> {
return; return;
} }

View File

@ -155,7 +155,7 @@ export interface AFADeleteOptions {
plugin: 'cordova-plugin-android-fingerprint-auth', plugin: 'cordova-plugin-android-fingerprint-auth',
pluginRef: 'FingerprintAuth', pluginRef: 'FingerprintAuth',
repo: 'https://github.com/mjwheatley/cordova-plugin-android-fingerprint-auth', repo: 'https://github.com/mjwheatley/cordova-plugin-android-fingerprint-auth',
platforms: ['Android'] platforms: ['Android'],
}) })
@Injectable() @Injectable()
export class AndroidFingerprintAuth extends IonicNativePlugin { export class AndroidFingerprintAuth extends IonicNativePlugin {
@ -199,7 +199,7 @@ export class AndroidFingerprintAuth extends IonicNativePlugin {
MISSING_ACTION_PARAMETERS: 'MISSING_ACTION_PARAMETERS', MISSING_ACTION_PARAMETERS: 'MISSING_ACTION_PARAMETERS',
MISSING_PARAMETERS: 'MISSING_PARAMETERS', MISSING_PARAMETERS: 'MISSING_PARAMETERS',
NO_SUCH_ALGORITHM_EXCEPTION: 'NO_SUCH_ALGORITHM_EXCEPTION', NO_SUCH_ALGORITHM_EXCEPTION: 'NO_SUCH_ALGORITHM_EXCEPTION',
SECURITY_EXCEPTION: 'SECURITY_EXCEPTION' SECURITY_EXCEPTION: 'SECURITY_EXCEPTION',
}; };
/** /**

View File

@ -25,7 +25,7 @@ export enum AndroidSystemUiFlags {
/** View would like to remain interactive when hiding the status bar with SYSTEM_UI_FLAG_FULLSCREEN and/or hiding the navigation bar with SYSTEM_UI_FLAG_HIDE_NAVIGATION. SYSTEM_UI_FLAG_IMMERSIVE_STICKY */ /** View would like to remain interactive when hiding the status bar with SYSTEM_UI_FLAG_FULLSCREEN and/or hiding the navigation bar with SYSTEM_UI_FLAG_HIDE_NAVIGATION. SYSTEM_UI_FLAG_IMMERSIVE_STICKY */
ImmersiveSticky = 4096, ImmersiveSticky = 4096,
/** Requests the status bar to draw in a mode that is compatible with light status bar backgrounds. SYSTEM_UI_FLAG_LIGHT_STATUS_BAR */ /** Requests the status bar to draw in a mode that is compatible with light status bar backgrounds. SYSTEM_UI_FLAG_LIGHT_STATUS_BAR */
LightStatusBar = 8192 LightStatusBar = 8192,
} }
/** /**
@ -53,7 +53,7 @@ export enum AndroidSystemUiFlags {
plugin: 'cordova-plugin-fullscreen', plugin: 'cordova-plugin-fullscreen',
pluginRef: 'AndroidFullScreen', pluginRef: 'AndroidFullScreen',
repo: 'https://github.com/mesmotronic/cordova-plugin-fullscreen', repo: 'https://github.com/mesmotronic/cordova-plugin-fullscreen',
platforms: ['Android'] platforms: ['Android'],
}) })
@Injectable() @Injectable()
export class AndroidFullScreen extends IonicNativePlugin { export class AndroidFullScreen extends IonicNativePlugin {

View File

@ -33,7 +33,7 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
plugin: 'cordova-plugin-android-permissions', plugin: 'cordova-plugin-android-permissions',
pluginRef: 'cordova.plugins.permissions', pluginRef: 'cordova.plugins.permissions',
repo: 'https://github.com/NeoLSN/cordova-plugin-android-permissions', repo: 'https://github.com/NeoLSN/cordova-plugin-android-permissions',
platforms: ['Android'] platforms: ['Android'],
}) })
@Injectable() @Injectable()
export class AndroidPermissions extends IonicNativePlugin { export class AndroidPermissions extends IonicNativePlugin {
@ -41,8 +41,7 @@ export class AndroidPermissions extends IonicNativePlugin {
ACCESS_CHECKIN_PROPERTIES: 'android.permission.ACCESS_CHECKIN_PROPERTIES', ACCESS_CHECKIN_PROPERTIES: 'android.permission.ACCESS_CHECKIN_PROPERTIES',
ACCESS_COARSE_LOCATION: 'android.permission.ACCESS_COARSE_LOCATION', ACCESS_COARSE_LOCATION: 'android.permission.ACCESS_COARSE_LOCATION',
ACCESS_FINE_LOCATION: 'android.permission.ACCESS_FINE_LOCATION', ACCESS_FINE_LOCATION: 'android.permission.ACCESS_FINE_LOCATION',
ACCESS_LOCATION_EXTRA_COMMANDS: ACCESS_LOCATION_EXTRA_COMMANDS: 'android.permission.ACCESS_LOCATION_EXTRA_COMMANDS',
'android.permission.ACCESS_LOCATION_EXTRA_COMMANDS',
ACCESS_MOCK_LOCATION: 'android.permission.ACCESS_MOCK_LOCATION', ACCESS_MOCK_LOCATION: 'android.permission.ACCESS_MOCK_LOCATION',
ACCESS_NETWORK_STATE: 'android.permission.ACCESS_NETWORK_STATE', ACCESS_NETWORK_STATE: 'android.permission.ACCESS_NETWORK_STATE',
ACCESS_SURFACE_FLINGER: 'android.permission.ACCESS_SURFACE_FLINGER', ACCESS_SURFACE_FLINGER: 'android.permission.ACCESS_SURFACE_FLINGER',
@ -53,14 +52,12 @@ export class AndroidPermissions extends IonicNativePlugin {
BATTERY_STATS: 'android.permission.BATTERY_STATS', BATTERY_STATS: 'android.permission.BATTERY_STATS',
BIND_ACCESSIBILITY_SERVICE: 'android.permission.BIND_ACCESSIBILITY_SERVICE', BIND_ACCESSIBILITY_SERVICE: 'android.permission.BIND_ACCESSIBILITY_SERVICE',
BIND_APPWIDGET: 'android.permission.BIND_APPWIDGET', BIND_APPWIDGET: 'android.permission.BIND_APPWIDGET',
BIND_CARRIER_MESSAGING_SERVICE: BIND_CARRIER_MESSAGING_SERVICE: 'android.permission.BIND_CARRIER_MESSAGING_SERVICE',
'android.permission.BIND_CARRIER_MESSAGING_SERVICE',
BIND_DEVICE_ADMIN: 'android.permission.BIND_DEVICE_ADMIN', BIND_DEVICE_ADMIN: 'android.permission.BIND_DEVICE_ADMIN',
BIND_DREAM_SERVICE: 'android.permission.BIND_DREAM_SERVICE', BIND_DREAM_SERVICE: 'android.permission.BIND_DREAM_SERVICE',
BIND_INPUT_METHOD: 'android.permission.BIND_INPUT_METHOD', BIND_INPUT_METHOD: 'android.permission.BIND_INPUT_METHOD',
BIND_NFC_SERVICE: 'android.permission.BIND_NFC_SERVICE', BIND_NFC_SERVICE: 'android.permission.BIND_NFC_SERVICE',
BIND_NOTIFICATION_LISTENER_SERVICE: BIND_NOTIFICATION_LISTENER_SERVICE: 'android.permission.BIND_NOTIFICATION_LISTENER_SERVICE',
'android.permission.BIND_NOTIFICATION_LISTENER_SERVICE',
BIND_PRINT_SERVICE: 'android.permission.BIND_PRINT_SERVICE', BIND_PRINT_SERVICE: 'android.permission.BIND_PRINT_SERVICE',
BIND_REMOTEVIEWS: 'android.permission.BIND_REMOTEVIEWS', BIND_REMOTEVIEWS: 'android.permission.BIND_REMOTEVIEWS',
BIND_TEXT_SERVICE: 'android.permission.BIND_TEXT_SERVICE', BIND_TEXT_SERVICE: 'android.permission.BIND_TEXT_SERVICE',
@ -81,15 +78,12 @@ export class AndroidPermissions extends IonicNativePlugin {
CALL_PRIVILEGED: 'android.permission.CALL_PRIVILEGED', CALL_PRIVILEGED: 'android.permission.CALL_PRIVILEGED',
CAMERA: 'android.permission.CAMERA', CAMERA: 'android.permission.CAMERA',
CAPTURE_AUDIO_OUTPUT: 'android.permission.CAPTURE_AUDIO_OUTPUT', CAPTURE_AUDIO_OUTPUT: 'android.permission.CAPTURE_AUDIO_OUTPUT',
CAPTURE_SECURE_VIDEO_OUTPUT: CAPTURE_SECURE_VIDEO_OUTPUT: 'android.permission.CAPTURE_SECURE_VIDEO_OUTPUT',
'android.permission.CAPTURE_SECURE_VIDEO_OUTPUT',
CAPTURE_VIDEO_OUTPUT: 'android.permission.CAPTURE_VIDEO_OUTPUT', CAPTURE_VIDEO_OUTPUT: 'android.permission.CAPTURE_VIDEO_OUTPUT',
CHANGE_COMPONENT_ENABLED_STATE: CHANGE_COMPONENT_ENABLED_STATE: 'android.permission.CHANGE_COMPONENT_ENABLED_STATE',
'android.permission.CHANGE_COMPONENT_ENABLED_STATE',
CHANGE_CONFIGURATION: 'android.permission.CHANGE_CONFIGURATION', CHANGE_CONFIGURATION: 'android.permission.CHANGE_CONFIGURATION',
CHANGE_NETWORK_STATE: 'android.permission.CHANGE_NETWORK_STATE', CHANGE_NETWORK_STATE: 'android.permission.CHANGE_NETWORK_STATE',
CHANGE_WIFI_MULTICAST_STATE: CHANGE_WIFI_MULTICAST_STATE: 'android.permission.CHANGE_WIFI_MULTICAST_STATE',
'android.permission.CHANGE_WIFI_MULTICAST_STATE',
CHANGE_WIFI_STATE: 'android.permission.CHANGE_WIFI_STATE', CHANGE_WIFI_STATE: 'android.permission.CHANGE_WIFI_STATE',
CLEAR_APP_CACHE: 'android.permission.CLEAR_APP_CACHE', CLEAR_APP_CACHE: 'android.permission.CLEAR_APP_CACHE',
CLEAR_APP_USER_DATA: 'android.permission.CLEAR_APP_USER_DATA', CLEAR_APP_USER_DATA: 'android.permission.CLEAR_APP_USER_DATA',
@ -135,8 +129,7 @@ export class AndroidPermissions extends IonicNativePlugin {
READ_CONTACTS: 'android.permission.READ_CONTACTS', READ_CONTACTS: 'android.permission.READ_CONTACTS',
READ_EXTERNAL_STORAGE: 'android.permission.READ_EXTERNAL_STORAGE', READ_EXTERNAL_STORAGE: 'android.permission.READ_EXTERNAL_STORAGE',
READ_FRAME_BUFFER: 'android.permission.READ_FRAME_BUFFER', READ_FRAME_BUFFER: 'android.permission.READ_FRAME_BUFFER',
READ_HISTORY_BOOKMARKS: READ_HISTORY_BOOKMARKS: 'com.android.browser.permission.READ_HISTORY_BOOKMARKS',
'com.android.browser.permission.READ_HISTORY_BOOKMARKS',
READ_INPUT_STATE: 'android.permission.READ_INPUT_STATE', READ_INPUT_STATE: 'android.permission.READ_INPUT_STATE',
READ_LOGS: 'android.permission.READ_LOGS', READ_LOGS: 'android.permission.READ_LOGS',
READ_PHONE_STATE: 'android.permission.READ_PHONE_STATE', READ_PHONE_STATE: 'android.permission.READ_PHONE_STATE',
@ -170,8 +163,7 @@ export class AndroidPermissions extends IonicNativePlugin {
SET_TIME_ZONE: 'android.permission.SET_TIME_ZONE', SET_TIME_ZONE: 'android.permission.SET_TIME_ZONE',
SET_WALLPAPER: 'android.permission.SET_WALLPAPER', SET_WALLPAPER: 'android.permission.SET_WALLPAPER',
SET_WALLPAPER_HINTS: 'android.permission.SET_WALLPAPER_HINTS', SET_WALLPAPER_HINTS: 'android.permission.SET_WALLPAPER_HINTS',
SIGNAL_PERSISTENT_PROCESSES: SIGNAL_PERSISTENT_PROCESSES: 'android.permission.SIGNAL_PERSISTENT_PROCESSES',
'android.permission.SIGNAL_PERSISTENT_PROCESSES',
STATUS_BAR: 'android.permission.STATUS_BAR', STATUS_BAR: 'android.permission.STATUS_BAR',
SUBSCRIBED_FEEDS_READ: 'android.permission.SUBSCRIBED_FEEDS_READ', SUBSCRIBED_FEEDS_READ: 'android.permission.SUBSCRIBED_FEEDS_READ',
SUBSCRIBED_FEEDS_WRITE: 'android.permission.SUBSCRIBED_FEEDS_WRITE', SUBSCRIBED_FEEDS_WRITE: 'android.permission.SUBSCRIBED_FEEDS_WRITE',
@ -189,8 +181,7 @@ export class AndroidPermissions extends IonicNativePlugin {
WRITE_CONTACTS: 'android.permission.WRITE_CONTACTS', WRITE_CONTACTS: 'android.permission.WRITE_CONTACTS',
WRITE_EXTERNAL_STORAGE: 'android.permission.WRITE_EXTERNAL_STORAGE', WRITE_EXTERNAL_STORAGE: 'android.permission.WRITE_EXTERNAL_STORAGE',
WRITE_GSERVICES: 'android.permission.WRITE_GSERVICES', WRITE_GSERVICES: 'android.permission.WRITE_GSERVICES',
WRITE_HISTORY_BOOKMARKS: WRITE_HISTORY_BOOKMARKS: 'com.android.browser.permission.WRITE_HISTORY_BOOKMARKS',
'com.android.browser.permission.WRITE_HISTORY_BOOKMARKS',
WRITE_PROFILE: 'android.permission.WRITE_PROFILE', WRITE_PROFILE: 'android.permission.WRITE_PROFILE',
WRITE_SECURE_SETTINGS: 'android.permission.WRITE_SECURE_SETTINGS', WRITE_SECURE_SETTINGS: 'android.permission.WRITE_SECURE_SETTINGS',
WRITE_SETTINGS: 'android.permission.WRITE_SETTINGS', WRITE_SETTINGS: 'android.permission.WRITE_SETTINGS',
@ -198,7 +189,7 @@ export class AndroidPermissions extends IonicNativePlugin {
WRITE_SOCIAL_STREAM: 'android.permission.WRITE_SOCIAL_STREAM', WRITE_SOCIAL_STREAM: 'android.permission.WRITE_SOCIAL_STREAM',
WRITE_SYNC_SETTINGS: 'android.permission.WRITE_SYNC_SETTINGS', WRITE_SYNC_SETTINGS: 'android.permission.WRITE_SYNC_SETTINGS',
WRITE_USER_DICTIONARY: 'android.permission.WRITE_USER_DICTIONARY', WRITE_USER_DICTIONARY: 'android.permission.WRITE_USER_DICTIONARY',
WRITE_VOICEMAIL: 'com.android.voicemail.permission.WRITE_VOICEMAIL' WRITE_VOICEMAIL: 'com.android.voicemail.permission.WRITE_VOICEMAIL',
}; };
/** /**

View File

@ -35,7 +35,7 @@ export interface AnylineOptions {
plugin: 'io-anyline-cordova', plugin: 'io-anyline-cordova',
pluginRef: 'Anyline', pluginRef: 'Anyline',
repo: 'https://github.com/Anyline/anyline-ocr-cordova-module', repo: 'https://github.com/Anyline/anyline-ocr-cordova-module',
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
@Injectable() @Injectable()
export class Anyline extends IonicNativePlugin { export class Anyline extends IonicNativePlugin {

View File

@ -37,11 +37,10 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
plugin: 'cordova-plugin-appavailability', plugin: 'cordova-plugin-appavailability',
pluginRef: 'appAvailability', pluginRef: 'appAvailability',
repo: 'https://github.com/ohh2ahh/AppAvailability', repo: 'https://github.com/ohh2ahh/AppAvailability',
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
@Injectable() @Injectable()
export class AppAvailability extends IonicNativePlugin { export class AppAvailability extends IonicNativePlugin {
/** /**
* Checks if an app is available on device * Checks if an app is available on device
* @param {string} app Package name on android, or URI scheme on iOS * @param {string} app Package name on android, or URI scheme on iOS
@ -51,5 +50,4 @@ export class AppAvailability extends IonicNativePlugin {
check(app: string): Promise<boolean> { check(app: string): Promise<boolean> {
return; return;
} }
} }

View File

@ -38,9 +38,8 @@ export interface StringMap {
pluginName: 'AppCenterAnalytics', pluginName: 'AppCenterAnalytics',
plugin: 'cordova-plugin-appcenter-analytics', plugin: 'cordova-plugin-appcenter-analytics',
pluginRef: 'AppCenter.Analytics', pluginRef: 'AppCenter.Analytics',
repo: repo: 'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-analytics',
'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-analytics', platforms: ['Android', 'iOS'],
platforms: ['Android', 'iOS']
}) })
@Injectable() @Injectable()
export class AppCenterAnalytics extends IonicNativePlugin { export class AppCenterAnalytics extends IonicNativePlugin {

View File

@ -62,9 +62,8 @@ export interface AppCenterCrashReportDevice {
pluginName: 'AppCenterCrashes', pluginName: 'AppCenterCrashes',
plugin: 'cordova-plugin-appcenter-crashes', plugin: 'cordova-plugin-appcenter-crashes',
pluginRef: 'AppCenter.Crashes', pluginRef: 'AppCenter.Crashes',
repo: repo: 'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-crashes',
'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-crashes', platforms: ['Android', 'iOS'],
platforms: ['Android', 'iOS']
}) })
@Injectable() @Injectable()
export class AppCenterCrashes extends IonicNativePlugin { export class AppCenterCrashes extends IonicNativePlugin {

View File

@ -29,9 +29,8 @@ import { Observable } from 'rxjs';
pluginName: 'AppCenterPush', pluginName: 'AppCenterPush',
plugin: 'cordova-plugin-appcenter-push', plugin: 'cordova-plugin-appcenter-push',
pluginRef: 'AppCenter.Push', pluginRef: 'AppCenter.Push',
repo: repo: 'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-push',
'https://github.com/Microsoft/appcenter-sdk-cordova/tree/master/cordova-plugin-appcenter-push', platforms: ['Android', 'iOS'],
platforms: ['Android', 'iOS']
}) })
@Injectable() @Injectable()
export class AppCenterPush extends IonicNativePlugin { export class AppCenterPush extends IonicNativePlugin {
@ -42,7 +41,7 @@ export class AppCenterPush extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
observable: true, observable: true,
clearFunction: 'removeEventListener' clearFunction: 'removeEventListener',
}) })
addEventListener(eventName: string): Observable<any> { addEventListener(eventName: string): Observable<any> {
return; return;

View File

@ -40,7 +40,7 @@ export interface AppLauncherOptions {
plugin: 'cordova-plugin-app-launcher', plugin: 'cordova-plugin-app-launcher',
pluginRef: 'window.plugins.launcher', pluginRef: 'window.plugins.launcher',
repo: 'https://github.com/nchutchind/cordova-plugin-app-launcher', repo: 'https://github.com/nchutchind/cordova-plugin-app-launcher',
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
@Injectable() @Injectable()
export class AppLauncher extends IonicNativePlugin { export class AppLauncher extends IonicNativePlugin {

View File

@ -27,11 +27,10 @@ import { Injectable } from '@angular/core';
plugin: 'cordova-plugin-appminimize', plugin: 'cordova-plugin-appminimize',
pluginRef: 'plugins.appMinimize', pluginRef: 'plugins.appMinimize',
repo: 'https://github.com/tomloprod/cordova-plugin-appminimize', repo: 'https://github.com/tomloprod/cordova-plugin-appminimize',
platforms: ['Android'] platforms: ['Android'],
}) })
@Injectable() @Injectable()
export class AppMinimize extends IonicNativePlugin { export class AppMinimize extends IonicNativePlugin {
/** /**
* Minimizes the application * Minimizes the application
* @return {Promise<any>} * @return {Promise<any>}
@ -40,5 +39,4 @@ export class AppMinimize extends IonicNativePlugin {
minimize(): Promise<any> { minimize(): Promise<any> {
return; return;
} }
} }

View File

@ -25,15 +25,7 @@ import { Injectable } from '@angular/core';
plugin: 'cordova-plugin-app-preferences', plugin: 'cordova-plugin-app-preferences',
pluginRef: 'plugins.appPreferences', pluginRef: 'plugins.appPreferences',
repo: 'https://github.com/apla/me.apla.cordova.app-preferences', repo: 'https://github.com/apla/me.apla.cordova.app-preferences',
platforms: [ platforms: ['Android', 'BlackBerry 10', 'Browser', 'iOS', 'macOS', 'Windows 8', 'Windows Phone'],
'Android',
'BlackBerry 10',
'Browser',
'iOS',
'macOS',
'Windows 8',
'Windows Phone'
]
}) })
@Injectable() @Injectable()
export class AppPreferences extends IonicNativePlugin { export class AppPreferences extends IonicNativePlugin {
@ -45,7 +37,7 @@ export class AppPreferences extends IonicNativePlugin {
* @return {Promise<any>} Returns a promise * @return {Promise<any>} Returns a promise
*/ */
@Cordova({ @Cordova({
callbackOrder: 'reverse' callbackOrder: 'reverse',
}) })
fetch(dict: string, key?: string): Promise<any> { fetch(dict: string, key?: string): Promise<any> {
return; return;
@ -60,7 +52,7 @@ export class AppPreferences extends IonicNativePlugin {
* @return {Promise<any>} Returns a promise * @return {Promise<any>} Returns a promise
*/ */
@Cordova({ @Cordova({
callbackOrder: 'reverse' callbackOrder: 'reverse',
}) })
store(dict: string, key: string, value?: any): Promise<any> { store(dict: string, key: string, value?: any): Promise<any> {
return; return;
@ -74,7 +66,7 @@ export class AppPreferences extends IonicNativePlugin {
* @return {Promise<any>} Returns a promise * @return {Promise<any>} Returns a promise
*/ */
@Cordova({ @Cordova({
callbackOrder: 'reverse' callbackOrder: 'reverse',
}) })
remove(dict: string, key?: string): Promise<any> { remove(dict: string, key?: string): Promise<any> {
return; return;
@ -86,7 +78,7 @@ export class AppPreferences extends IonicNativePlugin {
* @return {Promise<any>} Returns a promise * @return {Promise<any>} Returns a promise
*/ */
@Cordova({ @Cordova({
callbackOrder: 'reverse' callbackOrder: 'reverse',
}) })
clearAll(): Promise<any> { clearAll(): Promise<any> {
return; return;
@ -98,7 +90,7 @@ export class AppPreferences extends IonicNativePlugin {
* @return {Promise<any>} Returns a promise * @return {Promise<any>} Returns a promise
*/ */
@Cordova({ @Cordova({
callbackOrder: 'reverse' callbackOrder: 'reverse',
}) })
show(): Promise<any> { show(): Promise<any> {
return; return;
@ -111,7 +103,7 @@ export class AppPreferences extends IonicNativePlugin {
* @return {Observable<any>} Returns an observable * @return {Observable<any>} Returns an observable
*/ */
@Cordova({ @Cordova({
observable: true observable: true,
}) })
watch(subscribe: boolean): Observable<any> { watch(subscribe: boolean): Observable<any> {
return; return;
@ -126,7 +118,7 @@ export class AppPreferences extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
platforms: ['Android'], platforms: ['Android'],
sync: true sync: true,
}) })
suite(suiteName: string): any { suite(suiteName: string): any {
return; return;
@ -134,7 +126,7 @@ export class AppPreferences extends IonicNativePlugin {
@Cordova({ @Cordova({
platforms: ['iOS'], platforms: ['iOS'],
sync: true sync: true,
}) })
iosSuite(suiteName: string): any { iosSuite(suiteName: string): any {
return; return;
@ -146,7 +138,7 @@ export class AppPreferences extends IonicNativePlugin {
* @returns {Object} Custom object, bound to that suite * @returns {Object} Custom object, bound to that suite
*/ */
@Cordova({ @Cordova({
platforms: ['iOS', 'Windows', 'Windows Phone 8'] platforms: ['iOS', 'Windows', 'Windows Phone 8'],
}) })
cloudSync(): Object { cloudSync(): Object {
return; return;
@ -158,7 +150,7 @@ export class AppPreferences extends IonicNativePlugin {
* @returns {Object} Custom Object, bound to that suite * @returns {Object} Custom Object, bound to that suite
*/ */
@Cordova({ @Cordova({
platforms: ['iOS', 'Windows', 'Windows Phone 8'] platforms: ['iOS', 'Windows', 'Windows Phone 8'],
}) })
defaults(): Object { defaults(): Object {
return; return;

View File

@ -179,7 +179,7 @@ export interface AppUrls {
plugin: 'cordova-plugin-apprate', plugin: 'cordova-plugin-apprate',
pluginRef: 'AppRate', pluginRef: 'AppRate',
repo: 'https://github.com/pushandplay/cordova-plugin-apprate', repo: 'https://github.com/pushandplay/cordova-plugin-apprate',
platforms: ['Android', 'BlackBerry 10', 'iOS', 'Windows'] platforms: ['Android', 'BlackBerry 10', 'iOS', 'Windows'],
}) })
@Injectable() @Injectable()
export class AppRate extends IonicNativePlugin { export class AppRate extends IonicNativePlugin {

View File

@ -47,7 +47,7 @@ export interface AppUpdateOptions {
plugin: 'cordova-plugin-app-update', plugin: 'cordova-plugin-app-update',
pluginRef: 'AppUpdate', pluginRef: 'AppUpdate',
repo: 'https://github.com/vaenow/cordova-plugin-app-update', repo: 'https://github.com/vaenow/cordova-plugin-app-update',
platforms: ['Android'] platforms: ['Android'],
}) })
@Injectable() @Injectable()
export class AppUpdate extends IonicNativePlugin { export class AppUpdate extends IonicNativePlugin {
@ -58,7 +58,7 @@ export class AppUpdate extends IonicNativePlugin {
* @return {Promise<any>} Returns a promise that resolves when something happens * @return {Promise<any>} Returns a promise that resolves when something happens
*/ */
@Cordova({ @Cordova({
callbackOrder: 'reverse' callbackOrder: 'reverse',
}) })
checkAppUpdate(updateUrl: string, options?: AppUpdateOptions): Promise<any> { checkAppUpdate(updateUrl: string, options?: AppUpdateOptions): Promise<any> {
return; return;

View File

@ -1,7 +1,6 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
/** /**
* @name App Version * @name App Version
* @description * @description
@ -30,24 +29,27 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
plugin: 'cordova-plugin-app-version', plugin: 'cordova-plugin-app-version',
pluginRef: 'cordova.getAppVersion', pluginRef: 'cordova.getAppVersion',
repo: 'https://github.com/whiteoctober/cordova-plugin-app-version', repo: 'https://github.com/whiteoctober/cordova-plugin-app-version',
platforms: ['Android', 'iOS', 'Windows'] platforms: ['Android', 'iOS', 'Windows'],
}) })
@Injectable() @Injectable()
export class AppVersion extends IonicNativePlugin { export class AppVersion extends IonicNativePlugin {
/** /**
* Returns the name of the app, e.g.: "My Awesome App" * Returns the name of the app, e.g.: "My Awesome App"
* @returns {Promise<string>} * @returns {Promise<string>}
*/ */
@Cordova() @Cordova()
getAppName(): Promise<string> { return; } getAppName(): Promise<string> {
return;
}
/** /**
* Returns the package name of the app, e.g.: "com.example.myawesomeapp" * Returns the package name of the app, e.g.: "com.example.myawesomeapp"
* @returns {Promise<string>} * @returns {Promise<string>}
*/ */
@Cordova() @Cordova()
getPackageName(): Promise<string> { return; } getPackageName(): Promise<string> {
return;
}
/** /**
* Returns the build identifier of the app. * Returns the build identifier of the app.
@ -56,13 +58,16 @@ export class AppVersion extends IonicNativePlugin {
* @returns {Promise<string | number>} * @returns {Promise<string | number>}
*/ */
@Cordova() @Cordova()
getVersionCode(): Promise<string | number> { return; } getVersionCode(): Promise<string | number> {
return;
}
/** /**
* Returns the version of the app, e.g.: "1.2.3" * Returns the version of the app, e.g.: "1.2.3"
* @returns {Promise<string>} * @returns {Promise<string>}
*/ */
@Cordova() @Cordova()
getVersionNumber(): Promise<string> { return; } getVersionNumber(): Promise<string> {
return;
}
} }

View File

@ -7,13 +7,7 @@ export type IMakePayments =
| 'This device cannot make payments.' | 'This device cannot make payments.'
| 'This device can make payments but has no supported cards'; | 'This device can make payments but has no supported cards';
export type IShippingType = 'shipping' | 'delivery' | 'store' | 'service'; export type IShippingType = 'shipping' | 'delivery' | 'store' | 'service';
export type IBillingRequirement = export type IBillingRequirement = 'none' | 'all' | 'postcode' | 'name' | 'email' | 'phone';
| 'none'
| 'all'
| 'postcode'
| 'name'
| 'email'
| 'phone';
export type ITransactionStatus = export type ITransactionStatus =
| 'success' | 'success'
| 'failure' | 'failure'
@ -24,9 +18,7 @@ export type ITransactionStatus =
| 'incorrect-pin' | 'incorrect-pin'
| 'locked-pin'; | 'locked-pin';
export type ICompleteTransaction = 'Payment status applied.'; export type ICompleteTransaction = 'Payment status applied.';
export type IUpdateItemsAndShippingStatus = export type IUpdateItemsAndShippingStatus = 'Updated List Info' | 'Did you make a payment request?';
| 'Updated List Info'
| 'Did you make a payment request?';
export type IMerchantCapabilities = '3ds' | 'credit' | 'debit' | 'emv'; export type IMerchantCapabilities = '3ds' | 'credit' | 'debit' | 'emv';
export type ISupportedNetworks = 'visa' | 'amex' | 'discover' | 'masterCard'; export type ISupportedNetworks = 'visa' | 'amex' | 'discover' | 'masterCard';
@ -155,7 +147,7 @@ export interface ISelectedShippingContact {
plugin: 'cordova-plugin-applepay', plugin: 'cordova-plugin-applepay',
pluginRef: 'ApplePay', pluginRef: 'ApplePay',
repo: 'https://github.com/samkelleher/cordova-plugin-applepay', repo: 'https://github.com/samkelleher/cordova-plugin-applepay',
platforms: ['iOS'] platforms: ['iOS'],
}) })
@Injectable() @Injectable()
export class ApplePay extends IonicNativePlugin { export class ApplePay extends IonicNativePlugin {
@ -175,7 +167,7 @@ export class ApplePay extends IonicNativePlugin {
* } * }
*/ */
@Cordova({ @Cordova({
otherPromise: true otherPromise: true,
}) })
canMakePayments(): Promise<IMakePayments> { canMakePayments(): Promise<IMakePayments> {
return; return;
@ -191,11 +183,9 @@ export class ApplePay extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
observable: true, observable: true,
clearFunction: 'stopListeningForShippingContactSelection' clearFunction: 'stopListeningForShippingContactSelection',
}) })
startListeningForShippingContactSelection(): Observable< startListeningForShippingContactSelection(): Observable<ISelectedShippingContact> {
ISelectedShippingContact
> {
return; return;
} }
@ -205,7 +195,7 @@ export class ApplePay extends IonicNativePlugin {
* really only fail if this is called without starting listening * really only fail if this is called without starting listening
*/ */
@Cordova({ @Cordova({
otherPromise: true otherPromise: true,
}) })
stopListeningForShippingContactSelection(): Promise<boolean> { stopListeningForShippingContactSelection(): Promise<boolean> {
return; return;
@ -247,11 +237,9 @@ export class ApplePay extends IonicNativePlugin {
* }); * });
*/ */
@Cordova({ @Cordova({
otherPromise: true otherPromise: true,
}) })
updateItemsAndShippingMethods( updateItemsAndShippingMethods(list: IOrderItemsAndShippingMethods): Promise<IUpdateItemsAndShippingStatus> {
list: IOrderItemsAndShippingMethods
): Promise<IUpdateItemsAndShippingStatus> {
return; return;
} }
@ -326,7 +314,7 @@ export class ApplePay extends IonicNativePlugin {
* } * }
*/ */
@Cordova({ @Cordova({
otherPromise: true otherPromise: true,
}) })
makePaymentRequest(order: IOrder): Promise<IPaymentResponse> { makePaymentRequest(order: IOrder): Promise<IPaymentResponse> {
return; return;
@ -342,11 +330,9 @@ export class ApplePay extends IonicNativePlugin {
* *
*/ */
@Cordova({ @Cordova({
otherPromise: true otherPromise: true,
}) })
completeLastTransaction( completeLastTransaction(complete: ITransactionStatus): Promise<ICompleteTransaction> {
complete: ITransactionStatus
): Promise<ICompleteTransaction> {
return; return;
} }
} }

View File

@ -150,7 +150,7 @@ export interface WatchExistData {
plugin: 'cordova-apple-wallet', plugin: 'cordova-apple-wallet',
pluginRef: 'AppleWallet', pluginRef: 'AppleWallet',
repo: 'https://github.com/tomavic/cordova-apple-wallet', repo: 'https://github.com/tomavic/cordova-apple-wallet',
platforms: ['iOS'] platforms: ['iOS'],
}) })
@Injectable() @Injectable()
export class AppleWallet extends IonicNativePlugin { export class AppleWallet extends IonicNativePlugin {

View File

@ -25,7 +25,7 @@ import { Observable } from 'rxjs';
plugin: 'https://github.com/appodeal/appodeal-cordova-plugin.git', plugin: 'https://github.com/appodeal/appodeal-cordova-plugin.git',
pluginRef: 'Appodeal', pluginRef: 'Appodeal',
repo: 'https://github.com/appodeal/appodeal-cordova-plugin', repo: 'https://github.com/appodeal/appodeal-cordova-plugin',
platforms: ['iOS', 'Android'] platforms: ['iOS', 'Android'],
}) })
@Injectable() @Injectable()
export class Appodeal extends IonicNativePlugin { export class Appodeal extends IonicNativePlugin {
@ -37,7 +37,7 @@ export class Appodeal extends IonicNativePlugin {
BANNER_BOTTOM: 8, BANNER_BOTTOM: 8,
BANNER_TOP: 16, BANNER_TOP: 16,
REWARDED_VIDEO: 128, REWARDED_VIDEO: 128,
NON_SKIPPABLE_VIDEO: 256 NON_SKIPPABLE_VIDEO: 256,
}; };
/** /**
@ -361,7 +361,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onInterstitialLoaded', event: 'onInterstitialLoaded',
element: 'document' element: 'document',
}) })
onInterstitialLoaded(): Observable<any> { onInterstitialLoaded(): Observable<any> {
return; return;
@ -370,7 +370,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onInterstitialFailedToLoad', event: 'onInterstitialFailedToLoad',
element: 'document' element: 'document',
}) })
onInterstitialFailedToLoad(): Observable<any> { onInterstitialFailedToLoad(): Observable<any> {
return; return;
@ -379,7 +379,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onInterstitialShown', event: 'onInterstitialShown',
element: 'document' element: 'document',
}) })
onInterstitialShown(): Observable<any> { onInterstitialShown(): Observable<any> {
return; return;
@ -388,7 +388,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onInterstitialClicked', event: 'onInterstitialClicked',
element: 'document' element: 'document',
}) })
onInterstitialClicked(): Observable<any> { onInterstitialClicked(): Observable<any> {
return; return;
@ -397,7 +397,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onInterstitialClosed', event: 'onInterstitialClosed',
element: 'document' element: 'document',
}) })
onInterstitialClosed(): Observable<any> { onInterstitialClosed(): Observable<any> {
return; return;
@ -406,7 +406,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onSkippableVideoLoaded', event: 'onSkippableVideoLoaded',
element: 'document' element: 'document',
}) })
onSkippableVideoLoaded(): Observable<any> { onSkippableVideoLoaded(): Observable<any> {
return; return;
@ -415,7 +415,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onSkippableVideoFailedToLoad', event: 'onSkippableVideoFailedToLoad',
element: 'document' element: 'document',
}) })
onSkippableVideoFailedToLoad(): Observable<any> { onSkippableVideoFailedToLoad(): Observable<any> {
return; return;
@ -424,7 +424,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onSkippableVideoShown', event: 'onSkippableVideoShown',
element: 'document' element: 'document',
}) })
onSkippableVideoShown(): Observable<any> { onSkippableVideoShown(): Observable<any> {
return; return;
@ -433,7 +433,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onSkippableVideoFinished', event: 'onSkippableVideoFinished',
element: 'document' element: 'document',
}) })
onSkippableVideoFinished(): Observable<any> { onSkippableVideoFinished(): Observable<any> {
return; return;
@ -442,7 +442,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onSkippableVideoClosed', event: 'onSkippableVideoClosed',
element: 'document' element: 'document',
}) })
onSkippableVideoClosed(): Observable<any> { onSkippableVideoClosed(): Observable<any> {
return; return;
@ -451,7 +451,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onRewardedVideoLoaded', event: 'onRewardedVideoLoaded',
element: 'document' element: 'document',
}) })
onRewardedVideoLoaded(): Observable<any> { onRewardedVideoLoaded(): Observable<any> {
return; return;
@ -460,7 +460,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onRewardedVideoFailedToLoad', event: 'onRewardedVideoFailedToLoad',
element: 'document' element: 'document',
}) })
onRewardedVideoFailedToLoad(): Observable<any> { onRewardedVideoFailedToLoad(): Observable<any> {
return; return;
@ -469,7 +469,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onRewardedVideoShown', event: 'onRewardedVideoShown',
element: 'document' element: 'document',
}) })
onRewardedVideoShown(): Observable<any> { onRewardedVideoShown(): Observable<any> {
return; return;
@ -478,7 +478,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onRewardedVideoFinished', event: 'onRewardedVideoFinished',
element: 'document' element: 'document',
}) })
onRewardedVideoFinished(): Observable<any> { onRewardedVideoFinished(): Observable<any> {
return; return;
@ -487,7 +487,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onRewardedVideoClosed', event: 'onRewardedVideoClosed',
element: 'document' element: 'document',
}) })
onRewardedVideoClosed(): Observable<any> { onRewardedVideoClosed(): Observable<any> {
return; return;
@ -496,7 +496,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onNonSkippableVideoLoaded', event: 'onNonSkippableVideoLoaded',
element: 'document' element: 'document',
}) })
onNonSkippableVideoLoaded(): Observable<any> { onNonSkippableVideoLoaded(): Observable<any> {
return; return;
@ -505,7 +505,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onNonSkippableVideoFailedToLoad', event: 'onNonSkippableVideoFailedToLoad',
element: 'document' element: 'document',
}) })
onNonSkippableVideoFailedToLoad(): Observable<any> { onNonSkippableVideoFailedToLoad(): Observable<any> {
return; return;
@ -514,7 +514,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onNonSkippableVideoShown', event: 'onNonSkippableVideoShown',
element: 'document' element: 'document',
}) })
onNonSkippableVideoShown(): Observable<any> { onNonSkippableVideoShown(): Observable<any> {
return; return;
@ -523,7 +523,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onNonSkippableVideoFinished', event: 'onNonSkippableVideoFinished',
element: 'document' element: 'document',
}) })
onNonSkippableVideoFinished(): Observable<any> { onNonSkippableVideoFinished(): Observable<any> {
return; return;
@ -532,7 +532,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onNonSkippableVideoClosed', event: 'onNonSkippableVideoClosed',
element: 'document' element: 'document',
}) })
onNonSkippableVideoClosed(): Observable<any> { onNonSkippableVideoClosed(): Observable<any> {
return; return;
@ -541,7 +541,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onBannerClicked', event: 'onBannerClicked',
element: 'document' element: 'document',
}) })
onBannerClicked(): Observable<any> { onBannerClicked(): Observable<any> {
return; return;
@ -550,7 +550,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onBannerFailedToLoad', event: 'onBannerFailedToLoad',
element: 'document' element: 'document',
}) })
onBannerFailedToLoad(): Observable<any> { onBannerFailedToLoad(): Observable<any> {
return; return;
@ -559,7 +559,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onBannerLoaded', event: 'onBannerLoaded',
element: 'document' element: 'document',
}) })
onBannerLoaded(): Observable<any> { onBannerLoaded(): Observable<any> {
return; return;
@ -568,7 +568,7 @@ export class Appodeal extends IonicNativePlugin {
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'onBannerShown', event: 'onBannerShown',
element: 'document' element: 'document',
}) })
onBannerShown(): Observable<any> { onBannerShown(): Observable<any> {
return; return;
@ -590,7 +590,7 @@ export class Appodeal extends IonicNativePlugin {
} }
@Cordova({ @Cordova({
platforms: ['Android'] platforms: ['Android'],
}) })
showTestScreen(value: any): void {} showTestScreen(value: any): void {}

View File

@ -75,7 +75,7 @@ export interface AppsflyerInviteOptions {
pluginRef: 'window.plugins.appsFlyer', pluginRef: 'window.plugins.appsFlyer',
repo: 'https://github.com/AppsFlyerSDK/cordova-plugin-appsflyer-sdk', repo: 'https://github.com/AppsFlyerSDK/cordova-plugin-appsflyer-sdk',
platforms: ['iOS', 'Android'], platforms: ['iOS', 'Android'],
install: 'Add to config.xml like stated on github and then start' install: 'Add to config.xml like stated on github and then start',
}) })
@Injectable() @Injectable()
export class Appsflyer extends IonicNativePlugin { export class Appsflyer extends IonicNativePlugin {

View File

@ -45,7 +45,7 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
plugin: 'clovelced-plugin-audiomanagement', plugin: 'clovelced-plugin-audiomanagement',
pluginRef: 'AudioManagement', pluginRef: 'AudioManagement',
repo: 'https://github.com/clovelCed/cordova-plugin-audiomanagement', repo: 'https://github.com/clovelCed/cordova-plugin-audiomanagement',
platforms: ['Android'] platforms: ['Android'],
}) })
@Injectable() @Injectable()
export class AudioManagement extends IonicNativePlugin { export class AudioManagement extends IonicNativePlugin {
@ -57,7 +57,7 @@ export class AudioManagement extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
successIndex: 1, successIndex: 1,
errorIndex: 2 errorIndex: 2,
}) })
setAudioMode(mode: AudioManagement.AudioMode): Promise<void> { setAudioMode(mode: AudioManagement.AudioMode): Promise<void> {
return; return;
@ -83,7 +83,7 @@ export class AudioManagement extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
successIndex: 2, successIndex: 2,
errorIndex: 3 errorIndex: 3,
}) })
setVolume(type: AudioManagement.VolumeType, volume: number): Promise<void> { setVolume(type: AudioManagement.VolumeType, volume: number): Promise<void> {
return; return;
@ -98,7 +98,7 @@ export class AudioManagement extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
successIndex: 1, successIndex: 1,
errorIndex: 2 errorIndex: 2,
}) })
getVolume(type: AudioManagement.VolumeType): Promise<{ volume: number }> { getVolume(type: AudioManagement.VolumeType): Promise<{ volume: number }> {
return; return;
@ -113,7 +113,7 @@ export class AudioManagement extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
successIndex: 1, successIndex: 1,
errorIndex: 2 errorIndex: 2,
}) })
getMaxVolume(type: AudioManagement.VolumeType): Promise<{ maxVolume: number }> { getMaxVolume(type: AudioManagement.VolumeType): Promise<{ maxVolume: number }> {
return; return;
@ -124,14 +124,14 @@ export namespace AudioManagement {
export enum AudioMode { export enum AudioMode {
SILENT = 0, SILENT = 0,
VIBRATE, VIBRATE,
NORMAL NORMAL,
} }
export enum VolumeType { export enum VolumeType {
RING = 0, RING = 0,
MUSIC, MUSIC,
NOTIFICATION, NOTIFICATION,
SYSTEM SYSTEM,
} }
export interface AudioModeReturn { export interface AudioModeReturn {

View File

@ -27,23 +27,19 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
plugin: 'cordova-plugin-autostart', plugin: 'cordova-plugin-autostart',
pluginRef: 'cordova.plugins.autoStart', pluginRef: 'cordova.plugins.autoStart',
repo: 'https://github.com/ToniKorin/cordova-plugin-autostart', repo: 'https://github.com/ToniKorin/cordova-plugin-autostart',
platforms: ['Android'] platforms: ['Android'],
}) })
@Injectable() @Injectable()
export class Autostart extends IonicNativePlugin { export class Autostart extends IonicNativePlugin {
/** /**
* Enable the automatic startup after the boot * Enable the automatic startup after the boot
*/ */
@Cordova({ sync: true }) @Cordova({ sync: true })
enable(): void { enable(): void {}
}
/** /**
* Disable the automatic startup after the boot * Disable the automatic startup after the boot
*/ */
@Cordova({ sync: true }) @Cordova({ sync: true })
disable(): void { disable(): void {}
}
} }

View File

@ -2,14 +2,12 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
export interface BackgroundFetchConfig { export interface BackgroundFetchConfig {
/** /**
* Set true to cease background-fetch from operating after user "closes" the app. Defaults to true. * Set true to cease background-fetch from operating after user "closes" the app. Defaults to true.
*/ */
stopOnTerminate?: boolean; stopOnTerminate?: boolean;
} }
/** /**
* @name Background Fetch * @name Background Fetch
* @description * @description
@ -57,12 +55,10 @@ export interface BackgroundFetchConfig {
plugin: 'cordova-plugin-background-fetch', plugin: 'cordova-plugin-background-fetch',
pluginRef: 'BackgroundFetch', pluginRef: 'BackgroundFetch',
repo: 'https://github.com/transistorsoft/cordova-plugin-background-fetch', repo: 'https://github.com/transistorsoft/cordova-plugin-background-fetch',
platforms: ['iOS'] platforms: ['iOS'],
}) })
@Injectable() @Injectable()
export class BackgroundFetch extends IonicNativePlugin { export class BackgroundFetch extends IonicNativePlugin {
/** /**
* Configures the plugin's fetch callbackFn * Configures the plugin's fetch callbackFn
* *
@ -70,7 +66,7 @@ export class BackgroundFetch extends IonicNativePlugin {
* @return {Promise<any>} * @return {Promise<any>}
*/ */
@Cordova({ @Cordova({
callbackOrder: 'reverse' callbackOrder: 'reverse',
}) })
configure(config: BackgroundFetchConfig): Promise<any> { configure(config: BackgroundFetchConfig): Promise<any> {
return; return;
@ -99,10 +95,9 @@ export class BackgroundFetch extends IonicNativePlugin {
* You MUST call this method in your fetch callbackFn provided to #configure in order to signal to iOS that your fetch action is complete. iOS provides only 30s of background-time for a fetch-event -- if you exceed this 30s, iOS will kill your app. * You MUST call this method in your fetch callbackFn provided to #configure in order to signal to iOS that your fetch action is complete. iOS provides only 30s of background-time for a fetch-event -- if you exceed this 30s, iOS will kill your app.
*/ */
@Cordova({ @Cordova({
sync: true sync: true,
}) })
finish(taskId: string): void { finish(taskId: string): void {}
}
/** /**
* Return the status of the background-fetch * Return the status of the background-fetch
@ -112,5 +107,4 @@ export class BackgroundFetch extends IonicNativePlugin {
status(): Promise<any> { status(): Promise<any> {
return; return;
} }
} }

View File

@ -5,20 +5,20 @@ import { Observable } from 'rxjs';
export enum BackgroundGeolocationLocationCode { export enum BackgroundGeolocationLocationCode {
PERMISSION_DENIED = 1, PERMISSION_DENIED = 1,
LOCATION_UNAVAILABLE = 2, LOCATION_UNAVAILABLE = 2,
TIMEOUT = 3 TIMEOUT = 3,
} }
export enum BackgroundGeolocationNativeProvider { export enum BackgroundGeolocationNativeProvider {
gps = 'gps', gps = 'gps',
network = 'network', network = 'network',
passive = 'passive', passive = 'passive',
fused = 'fused' fused = 'fused',
} }
export enum BackgroundGeolocationLocationProvider { export enum BackgroundGeolocationLocationProvider {
DISTANCE_FILTER_PROVIDER = 0, DISTANCE_FILTER_PROVIDER = 0,
ACTIVITY_PROVIDER = 1, ACTIVITY_PROVIDER = 1,
RAW_PROVIDER = 2 RAW_PROVIDER = 2,
} }
export enum BackgroundGeolocationEvents { export enum BackgroundGeolocationEvents {
@ -32,13 +32,13 @@ export enum BackgroundGeolocationEvents {
start = 'start', // Event is triggered when background service has been started succesfully. start = 'start', // Event is triggered when background service has been started succesfully.
activity = 'activity', // Register activity monitoring listener. activity = 'activity', // Register activity monitoring listener.
stationary = 'stationary', // Register stationary location event listener. stationary = 'stationary', // Register stationary location event listener.
location = 'location' // Register location event listener. location = 'location', // Register location event listener.
} }
export enum BackgroundGeolocationAuthorizationStatus { export enum BackgroundGeolocationAuthorizationStatus {
NOT_AUTHORIZED = 0, NOT_AUTHORIZED = 0,
AUTHORIZED = 1, AUTHORIZED = 1,
AUTHORIZED_FOREGROUND = 2 AUTHORIZED_FOREGROUND = 2,
} }
export enum BackgroundGeolocationLogLevel { export enum BackgroundGeolocationLogLevel {
@ -46,7 +46,7 @@ export enum BackgroundGeolocationLogLevel {
DEBUG = 'DEBUG', DEBUG = 'DEBUG',
INFO = 'INFO', INFO = 'INFO',
WARN = 'WARN', WARN = 'WARN',
ERROR = 'ERROR' ERROR = 'ERROR',
} }
export interface BackgroundGeolocationLogEntry { export interface BackgroundGeolocationLogEntry {
@ -444,7 +444,7 @@ export interface BackgroundGeolocationConfig {
*/ */
export declare enum BackgroundGeolocationProvider { export declare enum BackgroundGeolocationProvider {
ANDROID_DISTANCE_FILTER_PROVIDER = 0, ANDROID_DISTANCE_FILTER_PROVIDER = 0,
ANDROID_ACTIVITY_PROVIDER = 1 ANDROID_ACTIVITY_PROVIDER = 1,
} }
/** /**
@ -464,7 +464,7 @@ export declare enum BackgroundGeolocationAccuracy {
HIGH = 0, HIGH = 0,
MEDIUM = 10, MEDIUM = 10,
LOW = 100, LOW = 100,
PASSIVE = 1000 PASSIVE = 1000,
} }
/** /**
@ -478,14 +478,14 @@ export declare enum BackgroundGeolocationAccuracy {
*/ */
export declare enum BackgroundGeolocationMode { export declare enum BackgroundGeolocationMode {
BACKGROUND = 0, BACKGROUND = 0,
FOREGROUND = 1 FOREGROUND = 1,
} }
export declare enum BackgroundGeolocationIOSActivity { export declare enum BackgroundGeolocationIOSActivity {
AutomotiveNavigation = 'AutomotiveNavigation', AutomotiveNavigation = 'AutomotiveNavigation',
OtherNavigation = 'OtherNavigation', OtherNavigation = 'OtherNavigation',
Fitness = 'Fitness', Fitness = 'Fitness',
Other = 'Other' Other = 'Other',
} }
/** /**
@ -543,7 +543,7 @@ export declare enum BackgroundGeolocationIOSActivity {
plugin: '@mauron85/cordova-plugin-background-geolocation', plugin: '@mauron85/cordova-plugin-background-geolocation',
pluginRef: 'BackgroundGeolocation', pluginRef: 'BackgroundGeolocation',
repo: 'https://github.com/mauron85/cordova-plugin-background-geolocation', repo: 'https://github.com/mauron85/cordova-plugin-background-geolocation',
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
@Injectable() @Injectable()
export class BackgroundGeolocation extends IonicNativePlugin { export class BackgroundGeolocation extends IonicNativePlugin {
@ -582,7 +582,7 @@ export class BackgroundGeolocation extends IonicNativePlugin {
* @returns {Promise<any>} * @returns {Promise<any>}
*/ */
@Cordova({ @Cordova({
platforms: ['iOS'] platforms: ['iOS'],
}) })
finish(): Promise<any> { finish(): Promise<any> {
return; return;
@ -594,7 +594,7 @@ export class BackgroundGeolocation extends IonicNativePlugin {
* @returns {Promise<any>} * @returns {Promise<any>}
*/ */
@Cordova({ @Cordova({
platforms: ['iOS'] platforms: ['iOS'],
}) })
changePace(isMoving: boolean): Promise<any> { changePace(isMoving: boolean): Promise<any> {
return; return;
@ -606,7 +606,7 @@ export class BackgroundGeolocation extends IonicNativePlugin {
* @returns {Promise<any>} * @returns {Promise<any>}
*/ */
@Cordova({ @Cordova({
callbackOrder: 'reverse' callbackOrder: 'reverse',
}) })
setConfig(options: BackgroundGeolocationConfig): Promise<any> { setConfig(options: BackgroundGeolocationConfig): Promise<any> {
return; return;
@ -617,7 +617,7 @@ export class BackgroundGeolocation extends IonicNativePlugin {
* @returns {Promise<Location>} * @returns {Promise<Location>}
*/ */
@Cordova({ @Cordova({
platforms: ['iOS'] platforms: ['iOS'],
}) })
getStationaryLocation(): Promise<BackgroundGeolocationResponse> { getStationaryLocation(): Promise<BackgroundGeolocationResponse> {
return; return;
@ -629,7 +629,7 @@ export class BackgroundGeolocation extends IonicNativePlugin {
* @returns {Promise<any>} * @returns {Promise<any>}
*/ */
@Cordova({ @Cordova({
platforms: ['iOS'] platforms: ['iOS'],
}) })
onStationary(): Promise<any> { onStationary(): Promise<any> {
return; return;
@ -640,7 +640,7 @@ export class BackgroundGeolocation extends IonicNativePlugin {
* @returns {Promise<number>} Returns a promise with int argument that takes values 0, 1 (true). * @returns {Promise<number>} Returns a promise with int argument that takes values 0, 1 (true).
*/ */
@Cordova({ @Cordova({
platforms: ['Android'] platforms: ['Android'],
}) })
isLocationEnabled(): Promise<number> { isLocationEnabled(): Promise<number> {
return; return;
@ -666,7 +666,7 @@ export class BackgroundGeolocation extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
platforms: ['Android'], platforms: ['Android'],
observable: true observable: true,
}) })
watchLocationMode(): Observable<number> { watchLocationMode(): Observable<number> {
return; return;
@ -677,7 +677,7 @@ export class BackgroundGeolocation extends IonicNativePlugin {
* @returns {Promise<any>} * @returns {Promise<any>}
*/ */
@Cordova({ @Cordova({
platforms: ['Android'] platforms: ['Android'],
}) })
stopWatchingLocationMode(): Promise<any> { stopWatchingLocationMode(): Promise<any> {
return; return;
@ -693,7 +693,7 @@ export class BackgroundGeolocation extends IonicNativePlugin {
* @returns {Promise<any>} * @returns {Promise<any>}
*/ */
@Cordova({ @Cordova({
platforms: ['Android'] platforms: ['Android'],
}) })
getLocations(): Promise<any> { getLocations(): Promise<any> {
return; return;
@ -714,7 +714,7 @@ export class BackgroundGeolocation extends IonicNativePlugin {
* @returns {Promise<any>} * @returns {Promise<any>}
*/ */
@Cordova({ @Cordova({
platforms: ['Android'] platforms: ['Android'],
}) })
deleteLocation(locationId: number): Promise<any> { deleteLocation(locationId: number): Promise<any> {
return; return;
@ -725,7 +725,7 @@ export class BackgroundGeolocation extends IonicNativePlugin {
* @returns {Promise<any>} * @returns {Promise<any>}
*/ */
@Cordova({ @Cordova({
platforms: ['Android'] platforms: ['Android'],
}) })
deleteAllLocations(): Promise<any> { deleteAllLocations(): Promise<any> {
return; return;
@ -745,7 +745,7 @@ export class BackgroundGeolocation extends IonicNativePlugin {
* @returns {Promise<any>} * @returns {Promise<any>}
*/ */
@Cordova({ @Cordova({
platforms: ['iOS'] platforms: ['iOS'],
}) })
switchMode(modeId: number): Promise<any> { switchMode(modeId: number): Promise<any> {
return; return;
@ -788,11 +788,9 @@ export class BackgroundGeolocation extends IonicNativePlugin {
* @returns {Promise<any>} * @returns {Promise<any>}
*/ */
@Cordova({ @Cordova({
callbackOrder: 'reverse' callbackOrder: 'reverse',
}) })
getCurrentLocation( getCurrentLocation(options?: BackgroundGeolocationCurrentPositionConfig): Promise<BackgroundGeolocationResponse> {
options?: BackgroundGeolocationCurrentPositionConfig
): Promise<BackgroundGeolocationResponse> {
return; return;
} }
@ -814,7 +812,7 @@ export class BackgroundGeolocation extends IonicNativePlugin {
* @returns {Promise<number>} taskKey * @returns {Promise<number>} taskKey
*/ */
@Cordova({ @Cordova({
platforms: ['IOS'] platforms: ['IOS'],
}) })
startTask(): Promise<number> { startTask(): Promise<number> {
return; return;
@ -824,7 +822,7 @@ export class BackgroundGeolocation extends IonicNativePlugin {
* End background task indentified by taskKey (iOS only) * End background task indentified by taskKey (iOS only)
*/ */
@Cordova({ @Cordova({
platforms: ['IOS'] platforms: ['IOS'],
}) })
endTask(taskKey: number): Promise<any> { endTask(taskKey: number): Promise<any> {
return; return;
@ -876,7 +874,7 @@ export class BackgroundGeolocation extends IonicNativePlugin {
* @param callbackFn * @param callbackFn
*/ */
@Cordova({ @Cordova({
observable: true observable: true,
}) })
on(event: BackgroundGeolocationEvents): Observable<BackgroundGeolocationResponse> { on(event: BackgroundGeolocationEvents): Observable<BackgroundGeolocationResponse> {
return; return;

View File

@ -74,7 +74,7 @@ export interface BackgroundModeConfiguration {
plugin: 'cordova-plugin-background-mode', plugin: 'cordova-plugin-background-mode',
pluginRef: 'cordova.plugins.backgroundMode', pluginRef: 'cordova.plugins.backgroundMode',
repo: 'https://github.com/katzer/cordova-plugin-background-mode', repo: 'https://github.com/katzer/cordova-plugin-background-mode',
platforms: ['AmazonFire OS', 'Android', 'Browser', 'iOS', 'Windows'] platforms: ['AmazonFire OS', 'Android', 'Browser', 'iOS', 'Windows'],
}) })
@Injectable() @Injectable()
export class BackgroundMode extends IonicNativePlugin { export class BackgroundMode extends IonicNativePlugin {
@ -83,7 +83,7 @@ export class BackgroundMode extends IonicNativePlugin {
* Once called, prevents the app from being paused while in background. * Once called, prevents the app from being paused while in background.
*/ */
@Cordova({ @Cordova({
sync: true sync: true,
}) })
enable(): void {} enable(): void {}
@ -92,7 +92,7 @@ export class BackgroundMode extends IonicNativePlugin {
* Once the background mode has been disabled, the app will be paused when in background. * Once the background mode has been disabled, the app will be paused when in background.
*/ */
@Cordova({ @Cordova({
sync: true sync: true,
}) })
disable(): void { disable(): void {
return; return;
@ -106,7 +106,7 @@ export class BackgroundMode extends IonicNativePlugin {
* @return {void} * @return {void}
*/ */
@Cordova({ @Cordova({
sync: true sync: true,
}) })
setEnabled(enable: boolean): void {} setEnabled(enable: boolean): void {}
@ -119,7 +119,7 @@ export class BackgroundMode extends IonicNativePlugin {
* @return {string} * @return {string}
*/ */
@Cordova({ @Cordova({
sync: true sync: true,
}) })
fireEvent(event: string, ...args: any[]): string { fireEvent(event: string, ...args: any[]): string {
return; return;
@ -130,7 +130,7 @@ export class BackgroundMode extends IonicNativePlugin {
* @returns {boolean} returns a boolean that indicates if the background mode is enabled. * @returns {boolean} returns a boolean that indicates if the background mode is enabled.
*/ */
@Cordova({ @Cordova({
sync: true sync: true,
}) })
isEnabled(): boolean { isEnabled(): boolean {
return; return;
@ -141,7 +141,7 @@ export class BackgroundMode extends IonicNativePlugin {
* @returns {boolean} returns a boolean that indicates if the background mode is active. * @returns {boolean} returns a boolean that indicates if the background mode is active.
*/ */
@Cordova({ @Cordova({
sync: true sync: true,
}) })
isActive(): boolean { isActive(): boolean {
return; return;
@ -154,7 +154,7 @@ export class BackgroundMode extends IonicNativePlugin {
* @returns {Promise<any>} * @returns {Promise<any>}
*/ */
@Cordova({ @Cordova({
platforms: ['Android'] platforms: ['Android'],
}) })
setDefaults(overrides?: BackgroundModeConfiguration): void {} setDefaults(overrides?: BackgroundModeConfiguration): void {}
@ -165,7 +165,7 @@ export class BackgroundMode extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
platforms: ['Android'], platforms: ['Android'],
sync: true sync: true,
}) })
configure(options?: BackgroundModeConfiguration): void {} configure(options?: BackgroundModeConfiguration): void {}
@ -178,7 +178,7 @@ export class BackgroundMode extends IonicNativePlugin {
@Cordova({ @Cordova({
observable: true, observable: true,
clearFunction: 'un', clearFunction: 'un',
clearWithArgs: true clearWithArgs: true,
}) })
on(event: string): Observable<any> { on(event: string): Observable<any> {
return; return;
@ -200,7 +200,7 @@ export class BackgroundMode extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
platforms: ['Android'], platforms: ['Android'],
sync: true sync: true,
}) })
moveToBackground(): void {} moveToBackground(): void {}
@ -209,7 +209,7 @@ export class BackgroundMode extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
platforms: ['Android'], platforms: ['Android'],
sync: true sync: true,
}) })
disableWebViewOptimizations(): void {} disableWebViewOptimizations(): void {}
@ -218,7 +218,7 @@ export class BackgroundMode extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
platforms: ['Android'], platforms: ['Android'],
sync: true sync: true,
}) })
moveToForeground(): void {} moveToForeground(): void {}
@ -227,7 +227,7 @@ export class BackgroundMode extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
platforms: ['Android'], platforms: ['Android'],
sync: true sync: true,
}) })
overrideBackButton(): void {} overrideBackButton(): void {}
@ -236,7 +236,7 @@ export class BackgroundMode extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
platforms: ['Android'], platforms: ['Android'],
sync: true sync: true,
}) })
excludeFromTaskList(): void {} excludeFromTaskList(): void {}
@ -246,7 +246,7 @@ export class BackgroundMode extends IonicNativePlugin {
* @returns {Promise<boolean>} * @returns {Promise<boolean>}
*/ */
@Cordova({ @Cordova({
platforms: ['Android'] platforms: ['Android'],
}) })
isScreenOff(fn: (arg0: boolean) => void): void {} isScreenOff(fn: (arg0: boolean) => void): void {}
@ -255,7 +255,7 @@ export class BackgroundMode extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
platforms: ['Android'], platforms: ['Android'],
sync: true sync: true,
}) })
wakeUp(): void {} wakeUp(): void {}
@ -264,7 +264,7 @@ export class BackgroundMode extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
platforms: ['Android'], platforms: ['Android'],
sync: true sync: true,
}) })
unlock(): void {} unlock(): void {}
@ -273,7 +273,7 @@ export class BackgroundMode extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
platforms: ['Android'], platforms: ['Android'],
sync: true sync: true,
}) })
disableBatteryOptimizations(): void {} disableBatteryOptimizations(): void {}
} }

View File

@ -1,7 +1,6 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
/** /**
* @beta * @beta
* @name Backlight * @name Backlight
@ -29,11 +28,10 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
plugin: 'cordova-plugin-backlight', plugin: 'cordova-plugin-backlight',
pluginRef: 'cordova.plugins.Backlight', pluginRef: 'cordova.plugins.Backlight',
repo: 'https://github.com/mebibou/cordova-plugin-backlight', repo: 'https://github.com/mebibou/cordova-plugin-backlight',
platforms: ['Android'] platforms: ['Android'],
}) })
@Injectable() @Injectable()
export class Backlight extends IonicNativePlugin { export class Backlight extends IonicNativePlugin {
/** /**
* This function turns backlight on * This function turns backlight on
* @return {Promise<any>} Returns a promise that resolves when the backlight is on * @return {Promise<any>} Returns a promise that resolves when the backlight is on
@ -51,5 +49,4 @@ export class Backlight extends IonicNativePlugin {
off(): Promise<any> { off(): Promise<any> {
return; return;
} }
} }

View File

@ -26,7 +26,7 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
plugin: 'cordova-plugin-badge', plugin: 'cordova-plugin-badge',
pluginRef: 'cordova.plugins.notification.badge', pluginRef: 'cordova.plugins.notification.badge',
repo: 'https://github.com/katzer/cordova-plugin-badge', repo: 'https://github.com/katzer/cordova-plugin-badge',
platforms: ['Android', 'Browser', 'iOS', 'Windows'] platforms: ['Android', 'Browser', 'iOS', 'Windows'],
}) })
@Injectable() @Injectable()
export class Badge extends IonicNativePlugin { export class Badge extends IonicNativePlugin {

View File

@ -106,7 +106,7 @@ export interface NotificationData {
plugin: 'cordova-plugin-push-baidu', plugin: 'cordova-plugin-push-baidu',
pluginRef: 'baiduPush', pluginRef: 'baiduPush',
repo: 'https://github.com/Ti-webdev/cordova-plugin-push-baidu.git', repo: 'https://github.com/Ti-webdev/cordova-plugin-push-baidu.git',
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
@Injectable() @Injectable()
export class BaiduPush extends IonicNativePlugin { export class BaiduPush extends IonicNativePlugin {

View File

@ -106,7 +106,7 @@ export interface BarcodeScanResult {
plugin: 'phonegap-plugin-barcodescanner', plugin: 'phonegap-plugin-barcodescanner',
pluginRef: 'cordova.plugins.barcodeScanner', pluginRef: 'cordova.plugins.barcodeScanner',
repo: 'https://github.com/phonegap/phonegap-plugin-barcodescanner', repo: 'https://github.com/phonegap/phonegap-plugin-barcodescanner',
platforms: ['Android', 'BlackBerry 10', 'Browser', 'iOS', 'Windows'] platforms: ['Android', 'BlackBerry 10', 'Browser', 'iOS', 'Windows'],
}) })
@Injectable() @Injectable()
export class BarcodeScanner extends IonicNativePlugin { export class BarcodeScanner extends IonicNativePlugin {
@ -119,7 +119,7 @@ export class BarcodeScanner extends IonicNativePlugin {
TEXT_TYPE: 'TEXT_TYPE', TEXT_TYPE: 'TEXT_TYPE',
EMAIL_TYPE: 'EMAIL_TYPE', EMAIL_TYPE: 'EMAIL_TYPE',
PHONE_TYPE: 'PHONE_TYPE', PHONE_TYPE: 'PHONE_TYPE',
SMS_TYPE: 'SMS_TYPE' SMS_TYPE: 'SMS_TYPE',
}; };
/** /**
@ -128,7 +128,7 @@ export class BarcodeScanner extends IonicNativePlugin {
* @returns {Promise<any>} Returns a Promise that resolves with scanner data, or rejects with an error. * @returns {Promise<any>} Returns a Promise that resolves with scanner data, or rejects with an error.
*/ */
@Cordova({ @Cordova({
callbackOrder: 'reverse' callbackOrder: 'reverse',
}) })
scan(options?: BarcodeScannerOptions): Promise<BarcodeScanResult> { scan(options?: BarcodeScannerOptions): Promise<BarcodeScanResult> {
return; return;

View File

@ -37,7 +37,7 @@ export interface Base64ToGalleryOptions {
plugin: 'cordova-base64-to-gallery', plugin: 'cordova-base64-to-gallery',
pluginRef: 'cordova', pluginRef: 'cordova',
repo: 'https://github.com/Nexxa/cordova-base64-to-gallery', repo: 'https://github.com/Nexxa/cordova-base64-to-gallery',
platforms: ['Android', 'iOS', 'Windows Phone 8'] platforms: ['Android', 'iOS', 'Windows Phone 8'],
}) })
@Injectable() @Injectable()
export class Base64ToGallery extends IonicNativePlugin { export class Base64ToGallery extends IonicNativePlugin {
@ -49,12 +49,9 @@ export class Base64ToGallery extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
successIndex: 2, successIndex: 2,
errorIndex: 3 errorIndex: 3,
}) })
base64ToGallery( base64ToGallery(data: string, options?: Base64ToGalleryOptions): Promise<any> {
data: string,
options?: Base64ToGalleryOptions
): Promise<any> {
return; return;
} }
} }

View File

@ -29,11 +29,10 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
plugin: 'com-badrit-base64', plugin: 'com-badrit-base64',
pluginRef: 'plugins.Base64', pluginRef: 'plugins.Base64',
repo: 'https://github.com/hazemhagrass/phonegap-base64', repo: 'https://github.com/hazemhagrass/phonegap-base64',
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
@Injectable() @Injectable()
export class Base64 extends IonicNativePlugin { export class Base64 extends IonicNativePlugin {
/** /**
* This function encodes base64 of any file * This function encodes base64 of any file
* @param {string} filePath Absolute file path * @param {string} filePath Absolute file path
@ -43,5 +42,4 @@ export class Base64 extends IonicNativePlugin {
encodeFile(filePath: string): Promise<string> { encodeFile(filePath: string): Promise<string> {
return; return;
} }
} }

View File

@ -45,7 +45,7 @@ export interface BatteryStatusResponse {
plugin: 'cordova-plugin-battery-status', plugin: 'cordova-plugin-battery-status',
pluginRef: 'navigator.battery', pluginRef: 'navigator.battery',
repo: 'https://github.com/apache/cordova-plugin-battery-status', repo: 'https://github.com/apache/cordova-plugin-battery-status',
platforms: ['iOS', 'Android', 'Windows', 'Browser'] platforms: ['iOS', 'Android', 'Windows', 'Browser'],
}) })
@Injectable() @Injectable()
export class BatteryStatus extends IonicNativePlugin { export class BatteryStatus extends IonicNativePlugin {
@ -55,7 +55,7 @@ export class BatteryStatus extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'batterystatus' event: 'batterystatus',
}) })
onChange(): Observable<BatteryStatusResponse> { onChange(): Observable<BatteryStatusResponse> {
return; return;
@ -67,7 +67,7 @@ export class BatteryStatus extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'batterylow' event: 'batterylow',
}) })
onLow(): Observable<BatteryStatusResponse> { onLow(): Observable<BatteryStatusResponse> {
return; return;
@ -79,7 +79,7 @@ export class BatteryStatus extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
eventObservable: true, eventObservable: true,
event: 'batterycritical' event: 'batterycritical',
}) })
onCritical(): Observable<BatteryStatusResponse> { onCritical(): Observable<BatteryStatusResponse> {
return; return;

View File

@ -31,7 +31,6 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
}) })
@Injectable() @Injectable()
export class BioCatch extends IonicNativePlugin { export class BioCatch extends IonicNativePlugin {
/** /**
* Start a session * Start a session
* @param customerSessionID {String} Customer session id * @param customerSessionID {String} Customer session id

View File

@ -24,7 +24,6 @@ import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
* ``` * ```
*/ */
@Plugin({ @Plugin({
pluginName: 'BiometricWrapper', pluginName: 'BiometricWrapper',
plugin: 'cordova-plugin-biometric', plugin: 'cordova-plugin-biometric',
@ -32,12 +31,10 @@ import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
repo: '', repo: '',
install: '', install: '',
installVariables: [], installVariables: [],
platforms: ['Android'] platforms: ['Android'],
}) })
@Injectable() @Injectable()
export class BiometricWrapper extends IonicNativePlugin { export class BiometricWrapper extends IonicNativePlugin {
/** /**
* This function activate iris activity * This function activate iris activity
* @return {Promise<any>} Returns a promise that resolves when iris data captured * @return {Promise<any>} Returns a promise that resolves when iris data captured
@ -55,5 +52,4 @@ export class BiometricWrapper extends IonicNativePlugin {
activateFingerprint(args: any): Promise<any> { activateFingerprint(args: any): Promise<any> {
return; return;
} }
} }

View File

@ -180,7 +180,7 @@ export interface BLEScanOptions {
plugin: 'cordova-plugin-ble-central', plugin: 'cordova-plugin-ble-central',
pluginRef: 'ble', pluginRef: 'ble',
repo: 'https://github.com/don/cordova-plugin-ble-central', repo: 'https://github.com/don/cordova-plugin-ble-central',
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
@Injectable() @Injectable()
export class BLE extends IonicNativePlugin { export class BLE extends IonicNativePlugin {
@ -198,7 +198,7 @@ export class BLE extends IonicNativePlugin {
* @returns {Observable<any>} Returns an Observable that notifies of each peripheral that is discovered during the specified time. * @returns {Observable<any>} Returns an Observable that notifies of each peripheral that is discovered during the specified time.
*/ */
@Cordova({ @Cordova({
observable: true observable: true,
}) })
scan(services: string[], seconds: number): Observable<any> { scan(services: string[], seconds: number): Observable<any> {
return; return;
@ -223,7 +223,7 @@ export class BLE extends IonicNativePlugin {
@Cordova({ @Cordova({
observable: true, observable: true,
clearFunction: 'stopScan', clearFunction: 'stopScan',
clearWithArgs: false clearWithArgs: false,
}) })
startScan(services: string[]): Observable<any> { startScan(services: string[]): Observable<any> {
return; return;
@ -238,12 +238,9 @@ export class BLE extends IonicNativePlugin {
@Cordova({ @Cordova({
observable: true, observable: true,
clearFunction: 'stopScan', clearFunction: 'stopScan',
clearWithArgs: false clearWithArgs: false,
}) })
startScanWithOptions( startScanWithOptions(services: string[], options: BLEScanOptions): Observable<any> {
services: string[],
options: BLEScanOptions
): Observable<any> {
return; return;
} }
@ -283,7 +280,7 @@ export class BLE extends IonicNativePlugin {
@Cordova({ @Cordova({
observable: true, observable: true,
clearFunction: 'disconnect', clearFunction: 'disconnect',
clearWithArgs: true clearWithArgs: true,
}) })
connect(deviceId: string): Observable<any> { connect(deviceId: string): Observable<any> {
return; return;
@ -388,11 +385,7 @@ export class BLE extends IonicNativePlugin {
* @return {Promise<any>} Returns a Promise * @return {Promise<any>} Returns a Promise
*/ */
@Cordova() @Cordova()
read( read(deviceId: string, serviceUUID: string, characteristicUUID: string): Promise<any> {
deviceId: string,
serviceUUID: string,
characteristicUUID: string
): Promise<any> {
return; return;
} }
@ -425,12 +418,7 @@ export class BLE extends IonicNativePlugin {
* @return {Promise<any>} Returns a Promise * @return {Promise<any>} Returns a Promise
*/ */
@Cordova() @Cordova()
write( write(deviceId: string, serviceUUID: string, characteristicUUID: string, value: ArrayBuffer): Promise<any> {
deviceId: string,
serviceUUID: string,
characteristicUUID: string,
value: ArrayBuffer
): Promise<any> {
return; return;
} }
@ -471,13 +459,9 @@ export class BLE extends IonicNativePlugin {
@Cordova({ @Cordova({
observable: true, observable: true,
clearFunction: 'stopNotification', clearFunction: 'stopNotification',
clearWithArgs: true clearWithArgs: true,
}) })
startNotification( startNotification(deviceId: string, serviceUUID: string, characteristicUUID: string): Observable<any> {
deviceId: string,
serviceUUID: string,
characteristicUUID: string
): Observable<any> {
return; return;
} }
@ -490,11 +474,7 @@ export class BLE extends IonicNativePlugin {
* @returns {Promise<any>} * @returns {Promise<any>}
*/ */
@Cordova() @Cordova()
stopNotification( stopNotification(deviceId: string, serviceUUID: string, characteristicUUID: string): Promise<any> {
deviceId: string,
serviceUUID: string,
characteristicUUID: string
): Promise<any> {
return; return;
} }
@ -541,7 +521,7 @@ export class BLE extends IonicNativePlugin {
@Cordova({ @Cordova({
observable: true, observable: true,
clearFunction: 'stopStateNotifications', clearFunction: 'stopStateNotifications',
clearWithArgs: false clearWithArgs: false,
}) })
startStateNotifications(): Observable<any> { startStateNotifications(): Observable<any> {
return; return;

View File

@ -18,13 +18,13 @@ export enum BarcodeType {
Code39 = 9, Code39 = 9,
ITF = 10, ITF = 10,
Aztec = 11, Aztec = 11,
PDF417 = 12 PDF417 = 12,
} }
export enum RecognizerResultState { export enum RecognizerResultState {
empty = 1, empty = 1,
uncertain = 2, uncertain = 2,
valid = 3 valid = 3,
} }
export enum MrtdDocumentType { export enum MrtdDocumentType {
@ -33,20 +33,20 @@ export enum MrtdDocumentType {
Passport = 3, Passport = 3,
Visa = 4, Visa = 4,
GreenCard = 5, GreenCard = 5,
MalaysianPassIMM13P = 6 MalaysianPassIMM13P = 6,
} }
export enum EudlCountry { export enum EudlCountry {
UK = 1, UK = 1,
Germany = 2, Germany = 2,
Austria = 3, Austria = 3,
Automatic = 4 Automatic = 4,
} }
export enum DocumentFaceDetectorType { export enum DocumentFaceDetectorType {
TD1 = 1, TD1 = 1,
TD2 = 2, TD2 = 2,
PassportsAndVisas = 3 PassportsAndVisas = 3,
} }
export enum UsdlKeys { export enum UsdlKeys {
@ -135,7 +135,7 @@ export enum UsdlKeys {
DataDiscriminator = 82, DataDiscriminator = 82,
DocumentExpirationMonth = 83, DocumentExpirationMonth = 83,
DocumentNonexpiring = 84, DocumentNonexpiring = 84,
SecurityVersion = 85 SecurityVersion = 85,
} }
export interface ImageExtensionFactors { export interface ImageExtensionFactors {
@ -178,12 +178,12 @@ export interface OverlaySettings {
export interface BarcodeOverlaySettings extends OverlaySettings {} export interface BarcodeOverlaySettings extends OverlaySettings {}
export interface BarcodeOverlaySettingsCtor { export interface BarcodeOverlaySettingsCtor {
new(): BarcodeOverlaySettings; new (): BarcodeOverlaySettings;
} }
export interface DocumentOverlaySettings extends OverlaySettings {} export interface DocumentOverlaySettings extends OverlaySettings {}
export interface DocumentOverlaySettingsCtor { export interface DocumentOverlaySettingsCtor {
new(): DocumentOverlaySettings; new (): DocumentOverlaySettings;
} }
export interface DocumentVerificationOverlaySettings extends OverlaySettings { export interface DocumentVerificationOverlaySettings extends OverlaySettings {
@ -195,14 +195,14 @@ export interface DocumentVerificationOverlaySettings extends OverlaySettings {
glareMessage: string; glareMessage: string;
} }
export interface DocumentVerificationOverlaySettingsCtor { export interface DocumentVerificationOverlaySettingsCtor {
new(): DocumentVerificationOverlaySettings; new (): DocumentVerificationOverlaySettings;
} }
export interface BlinkCardOverlaySettings extends OverlaySettings { export interface BlinkCardOverlaySettings extends OverlaySettings {
glareMessage: string; glareMessage: string;
} }
export interface BlinkCardOverlaySettingsCtor { export interface BlinkCardOverlaySettingsCtor {
new(): BlinkCardOverlaySettings; new (): BlinkCardOverlaySettings;
} }
export interface RecognizerResult { export interface RecognizerResult {
@ -286,7 +286,8 @@ export interface MrzResult {
export interface SuccessFrameGrabberRecognizerResult extends RecognizerResult { export interface SuccessFrameGrabberRecognizerResult extends RecognizerResult {
successFrame: string; successFrame: string;
} }
export interface SuccessFrameGrabberRecognizerResultCtor extends RecognizerResultCtor<SuccessFrameGrabberRecognizerResult> {} export interface SuccessFrameGrabberRecognizerResultCtor
extends RecognizerResultCtor<SuccessFrameGrabberRecognizerResult> {}
export interface SuccessFrameGrabberRecognizer extends Recognizer<SuccessFrameGrabberRecognizerResult> { export interface SuccessFrameGrabberRecognizer extends Recognizer<SuccessFrameGrabberRecognizerResult> {
slaveRecognizer: Recognizer; slaveRecognizer: Recognizer;
@ -1464,7 +1465,8 @@ export interface MalaysiaMyTenteraRecognizerResult extends RecognizerResult {
street: string; street: string;
zipcode: string; zipcode: string;
} }
export interface MalaysiaMyTenteraRecognizerResultCtor extends RecognizerResultCtor<MalaysiaMyTenteraRecognizerResult> {} export interface MalaysiaMyTenteraRecognizerResultCtor
extends RecognizerResultCtor<MalaysiaMyTenteraRecognizerResult> {}
export interface MalaysiaMyTenteraRecognizer extends Recognizer<MalaysiaMyTenteraRecognizerResult> { export interface MalaysiaMyTenteraRecognizer extends Recognizer<MalaysiaMyTenteraRecognizerResult> {
detectGlare: boolean; detectGlare: boolean;
@ -1489,7 +1491,8 @@ export interface MexicoVoterIdFrontRecognizerResult extends RecognizerResult {
sex: string; sex: string;
signatureImage: string; signatureImage: string;
} }
export interface MexicoVoterIdFrontRecognizerResultCtor extends RecognizerResultCtor<MexicoVoterIdFrontRecognizerResult> {} export interface MexicoVoterIdFrontRecognizerResultCtor
extends RecognizerResultCtor<MexicoVoterIdFrontRecognizerResult> {}
export interface MexicoVoterIdFrontRecognizer extends Recognizer<MexicoVoterIdFrontRecognizerResult> { export interface MexicoVoterIdFrontRecognizer extends Recognizer<MexicoVoterIdFrontRecognizerResult> {
detectGlare: boolean; detectGlare: boolean;
@ -1683,7 +1686,8 @@ export interface NewZealandDlFrontRecognizerResult extends RecognizerResult {
signatureImage: string; signatureImage: string;
surname: string; surname: string;
} }
export interface NewZealandDlFrontRecognizerResultCtor extends RecognizerResultCtor<NewZealandDlFrontRecognizerResult> {} export interface NewZealandDlFrontRecognizerResultCtor
extends RecognizerResultCtor<NewZealandDlFrontRecognizerResult> {}
export interface NewZealandDlFrontRecognizer extends Recognizer<NewZealandDlFrontRecognizerResult> { export interface NewZealandDlFrontRecognizer extends Recognizer<NewZealandDlFrontRecognizerResult> {
detectGlare: boolean; detectGlare: boolean;
@ -1980,7 +1984,8 @@ export interface SingaporeChangiEmployeeIdRecognizerResult extends RecognizerRes
fullDocumentImage: string; fullDocumentImage: string;
name: string; name: string;
} }
export interface SingaporeChangiEmployeeIdRecognizerResultCtor extends RecognizerResultCtor<SingaporeChangiEmployeeIdRecognizerResult> {} export interface SingaporeChangiEmployeeIdRecognizerResultCtor
extends RecognizerResultCtor<SingaporeChangiEmployeeIdRecognizerResult> {}
export interface SingaporeChangiEmployeeIdRecognizer extends Recognizer<SingaporeChangiEmployeeIdRecognizerResult> { export interface SingaporeChangiEmployeeIdRecognizer extends Recognizer<SingaporeChangiEmployeeIdRecognizerResult> {
detectGlare: boolean; detectGlare: boolean;
@ -2014,7 +2019,8 @@ export interface SingaporeCombinedRecognizerResult extends RecognizerResult {
scanningFirstSideDone: string; scanningFirstSideDone: string;
sex: string; sex: string;
} }
export interface SingaporeCombinedRecognizerResultCtor extends RecognizerResultCtor<SingaporeCombinedRecognizerResult> {} export interface SingaporeCombinedRecognizerResultCtor
extends RecognizerResultCtor<SingaporeCombinedRecognizerResult> {}
export interface SingaporeCombinedRecognizer extends Recognizer<SingaporeCombinedRecognizerResult> { export interface SingaporeCombinedRecognizer extends Recognizer<SingaporeCombinedRecognizerResult> {
detectGlare: boolean; detectGlare: boolean;
@ -2390,7 +2396,8 @@ export interface SwitzerlandDlFrontRecognizerResult extends RecognizerResult {
signatureImage: string; signatureImage: string;
vehicleCategories: string; vehicleCategories: string;
} }
export interface SwitzerlandDlFrontRecognizerResultCtor extends RecognizerResultCtor<SwitzerlandDlFrontRecognizerResult> {} export interface SwitzerlandDlFrontRecognizerResultCtor
extends RecognizerResultCtor<SwitzerlandDlFrontRecognizerResult> {}
export interface SwitzerlandDlFrontRecognizer extends Recognizer<SwitzerlandDlFrontRecognizerResult> { export interface SwitzerlandDlFrontRecognizer extends Recognizer<SwitzerlandDlFrontRecognizerResult> {
detectGlare: boolean; detectGlare: boolean;
@ -2435,7 +2442,8 @@ export interface SwitzerlandDlBackRecognizerResult extends RecognizerResult {
secondaryId: string; secondaryId: string;
sex: String; sex: String;
} }
export interface SwitzerlandDlBackRecognizerResultCtor extends RecognizerResultCtor<SwitzerlandDlBackRecognizerResult> {} export interface SwitzerlandDlBackRecognizerResultCtor
extends RecognizerResultCtor<SwitzerlandDlBackRecognizerResult> {}
export interface SwitzerlandDlBackRecognizer extends Recognizer<SwitzerlandDlBackRecognizerResult> { export interface SwitzerlandDlBackRecognizer extends Recognizer<SwitzerlandDlBackRecognizerResult> {
detectGlare: boolean; detectGlare: boolean;
@ -2457,7 +2465,8 @@ export interface SwitzerlandIdFrontRecognizerResult extends RecognizerResult {
signatureImage: string; signatureImage: string;
surname: string; surname: string;
} }
export interface SwitzerlandIdFrontRecognizerResultCtor extends RecognizerResultCtor<SwitzerlandIdFrontRecognizerResult> {} export interface SwitzerlandIdFrontRecognizerResultCtor
extends RecognizerResultCtor<SwitzerlandIdFrontRecognizerResult> {}
export interface SwitzerlandIdFrontRecognizer extends Recognizer<SwitzerlandIdFrontRecognizerResult> { export interface SwitzerlandIdFrontRecognizer extends Recognizer<SwitzerlandIdFrontRecognizerResult> {
detectGlare: boolean; detectGlare: boolean;
@ -2501,7 +2510,8 @@ export interface SwitzerlandPassportRecognizerResult extends RecognizerResult {
sex: string; sex: string;
surname: string; surname: string;
} }
export interface SwitzerlandPassportRecognizerResultCtor extends RecognizerResultCtor<SwitzerlandPassportRecognizerResult> {} export interface SwitzerlandPassportRecognizerResultCtor
extends RecognizerResultCtor<SwitzerlandPassportRecognizerResult> {}
export interface SwitzerlandPassportRecognizer extends Recognizer<SwitzerlandPassportRecognizerResult> { export interface SwitzerlandPassportRecognizer extends Recognizer<SwitzerlandPassportRecognizerResult> {
detectGlare: boolean; detectGlare: boolean;
@ -2532,7 +2542,8 @@ export interface UnitedArabEmiratesDlFrontRecognizerResult extends RecognizerRes
nationality: string; nationality: string;
placeOfIssue: string; placeOfIssue: string;
} }
export interface UnitedArabEmiratesDlFrontRecognizerResultCtor extends RecognizerResultCtor<UnitedArabEmiratesDlFrontRecognizerResult> {} export interface UnitedArabEmiratesDlFrontRecognizerResultCtor
extends RecognizerResultCtor<UnitedArabEmiratesDlFrontRecognizerResult> {}
export interface UnitedArabEmiratesDlFrontRecognizer extends Recognizer<UnitedArabEmiratesDlFrontRecognizerResult> { export interface UnitedArabEmiratesDlFrontRecognizer extends Recognizer<UnitedArabEmiratesDlFrontRecognizerResult> {
detectGlare: boolean; detectGlare: boolean;
@ -2555,7 +2566,8 @@ export interface UnitedArabEmiratesIdBackRecognizerResult extends RecognizerResu
fullDocumentImage: string; fullDocumentImage: string;
mrzResult: MrzResult; mrzResult: MrzResult;
} }
export interface UnitedArabEmiratesIdBackRecognizerResultCtor extends RecognizerResultCtor<UnitedArabEmiratesIdBackRecognizerResult> {} export interface UnitedArabEmiratesIdBackRecognizerResultCtor
extends RecognizerResultCtor<UnitedArabEmiratesIdBackRecognizerResult> {}
export interface UnitedArabEmiratesIdBackRecognizer extends Recognizer<UnitedArabEmiratesIdBackRecognizerResult> { export interface UnitedArabEmiratesIdBackRecognizer extends Recognizer<UnitedArabEmiratesIdBackRecognizerResult> {
detectGlare: boolean; detectGlare: boolean;
@ -2572,7 +2584,8 @@ export interface UnitedArabEmiratesIdFrontRecognizerResult extends RecognizerRes
name: string; name: string;
nationality: string; nationality: string;
} }
export interface UnitedArabEmiratesIdFrontRecognizerResultCtor extends RecognizerResultCtor<UnitedArabEmiratesIdFrontRecognizerResult> {} export interface UnitedArabEmiratesIdFrontRecognizerResultCtor
extends RecognizerResultCtor<UnitedArabEmiratesIdFrontRecognizerResult> {}
export interface UnitedArabEmiratesIdFrontRecognizer extends Recognizer<UnitedArabEmiratesIdFrontRecognizerResult> { export interface UnitedArabEmiratesIdFrontRecognizer extends Recognizer<UnitedArabEmiratesIdFrontRecognizerResult> {
detectGlare: boolean; detectGlare: boolean;
@ -2720,7 +2733,7 @@ export interface UsdlCombinedRecognizerCtor extends RecognizerCtor<UsdlCombinedR
repo: 'https://github.com/BlinkID/blinkid-phonegap', repo: 'https://github.com/BlinkID/blinkid-phonegap',
install: install:
'ionic cordova plugin add blinkid-cordova --variable CAMERA_USAGE_DESCRIPTION="Enable your camera so that you can scan your ID to validate your account"', 'ionic cordova plugin add blinkid-cordova --variable CAMERA_USAGE_DESCRIPTION="Enable your camera so that you can scan your ID to validate your account"',
platforms: ['iOS', 'Android'] platforms: ['iOS', 'Android'],
}) })
@Injectable() @Injectable()
export class BlinkId extends IonicNativePlugin { export class BlinkId extends IonicNativePlugin {
@ -2731,13 +2744,15 @@ export class BlinkId extends IonicNativePlugin {
* @returns {Promise<boolean>} * @returns {Promise<boolean>}
*/ */
@Cordova({ @Cordova({
callbackOrder: 'reverse' callbackOrder: 'reverse',
}) })
scanWithCamera( scanWithCamera(
overlaySettings: OverlaySettings, overlaySettings: OverlaySettings,
recognizerCollection: RecognizerCollection, recognizerCollection: RecognizerCollection,
licenses: Licenses, licenses: Licenses
): Promise<boolean> { return; } ): Promise<boolean> {
return;
}
@CordovaProperty() Date: DateCtor; @CordovaProperty() Date: DateCtor;
@CordovaProperty() Point: PointCtor; @CordovaProperty() Point: PointCtor;

View File

@ -57,7 +57,7 @@ export interface BlinkUpWPSOptions {
plugin: 'cordova-plugin-blinkup', plugin: 'cordova-plugin-blinkup',
pluginRef: 'blinkup', pluginRef: 'blinkup',
repo: 'https://github.com/SensorShare/cordova-plugin-blinkup', repo: 'https://github.com/SensorShare/cordova-plugin-blinkup',
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
@Injectable() @Injectable()
export class BlinkUp extends IonicNativePlugin { export class BlinkUp extends IonicNativePlugin {
@ -68,7 +68,7 @@ export class BlinkUp extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
callbackOrder: 'reverse', callbackOrder: 'reverse',
observable: true observable: true,
}) })
startBlinkUp(options: BlinkUpOptions): Observable<any> { startBlinkUp(options: BlinkUpOptions): Observable<any> {
return; return;
@ -81,7 +81,7 @@ export class BlinkUp extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
callbackOrder: 'reverse', callbackOrder: 'reverse',
observable: true observable: true,
}) })
flashWifiBlinkUp(options: BlinkUpWifiOptions): Observable<any> { flashWifiBlinkUp(options: BlinkUpWifiOptions): Observable<any> {
return; return;
@ -94,7 +94,7 @@ export class BlinkUp extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
callbackOrder: 'reverse', callbackOrder: 'reverse',
observable: true observable: true,
}) })
flashWPSBlinkUp(options: BlinkUpWPSOptions): Observable<any> { flashWPSBlinkUp(options: BlinkUpWPSOptions): Observable<any> {
return; return;
@ -105,7 +105,7 @@ export class BlinkUp extends IonicNativePlugin {
* @return {Observable<any>} Returns an Observable * @return {Observable<any>} Returns an Observable
*/ */
@Cordova({ @Cordova({
observable: true observable: true,
}) })
abortBlinkUp(): Observable<any> { abortBlinkUp(): Observable<any> {
return; return;
@ -116,7 +116,7 @@ export class BlinkUp extends IonicNativePlugin {
* @return {Observable<any>} Returns an Observable * @return {Observable<any>} Returns an Observable
*/ */
@Cordova({ @Cordova({
observable: true observable: true,
}) })
clearBlinkUpData(): Observable<any> { clearBlinkUpData(): Observable<any> {
return; return;

View File

@ -1,10 +1,5 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { import { Cordova, CordovaProperty, IonicNativePlugin, Plugin } from '@ionic-native/core';
Cordova,
CordovaProperty,
IonicNativePlugin,
Plugin
} from '@ionic-native/core';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
/* Available status of device */ /* Available status of device */
@ -356,24 +351,24 @@ export enum BluetoothScanMode {
SCAN_MODE_OPPORTUNISTIC = -1, SCAN_MODE_OPPORTUNISTIC = -1,
SCAN_MODE_LOW_POWER = 0, SCAN_MODE_LOW_POWER = 0,
SCAN_MODE_BALANCED = 1, SCAN_MODE_BALANCED = 1,
SCAN_MODE_LOW_LATENCY = 2 SCAN_MODE_LOW_LATENCY = 2,
} }
export enum BluetoothMatchMode { export enum BluetoothMatchMode {
MATCH_MODE_AGRESSIVE = 1, MATCH_MODE_AGRESSIVE = 1,
MATCH_MODE_STICKY = 2 MATCH_MODE_STICKY = 2,
} }
export enum BluetoothMatchNum { export enum BluetoothMatchNum {
MATCH_NUM_ONE_ADVERTISEMENT = 1, MATCH_NUM_ONE_ADVERTISEMENT = 1,
MATCH_NUM_FEW_ADVERTISEMENT = 2, MATCH_NUM_FEW_ADVERTISEMENT = 2,
MATCH_NUM_MAX_ADVERTISEMENT = 3 MATCH_NUM_MAX_ADVERTISEMENT = 3,
} }
export enum BluetoothCallbackType { export enum BluetoothCallbackType {
CALLBACK_TYPE_ALL_MATCHES = 1, CALLBACK_TYPE_ALL_MATCHES = 1,
CALLBACK_TYPE_FIRST_MATCH = 2, CALLBACK_TYPE_FIRST_MATCH = 2,
CALLBACK_TYPE_MATCH_LOST = 4 CALLBACK_TYPE_MATCH_LOST = 4,
} }
export interface Error { export interface Error {
@ -425,7 +420,7 @@ export interface AdapterInfo {
repo: 'https://github.com/randdusing/cordova-plugin-bluetoothle', // the github repository URL for the plugin repo: 'https://github.com/randdusing/cordova-plugin-bluetoothle', // the github repository URL for the plugin
install: 'ionic cordova plugin add cordova-plugin-bluetoothle', // OPTIONAL install command, in case the plugin requires variables install: 'ionic cordova plugin add cordova-plugin-bluetoothle', // OPTIONAL install command, in case the plugin requires variables
installVariables: [], // OPTIONAL the plugin requires variables installVariables: [], // OPTIONAL the plugin requires variables
platforms: ['Android', 'iOS'] // Array of platforms supported, example: ['Android', 'iOS'] platforms: ['Android', 'iOS'], // Array of platforms supported, example: ['Android', 'iOS']
}) })
@Injectable() @Injectable()
export class BluetoothLE extends IonicNativePlugin { export class BluetoothLE extends IonicNativePlugin {
@ -485,7 +480,7 @@ export class BluetoothLE extends IonicNativePlugin {
* @returns {(Observable< ScanStatus >)} * @returns {(Observable< ScanStatus >)}
*/ */
@Cordova({ callbackOrder: 'reverse', observable: true }) @Cordova({ callbackOrder: 'reverse', observable: true })
startScan(params: ScanParams): Observable< ScanStatus > { startScan(params: ScanParams): Observable<ScanStatus> {
return; return;
} }
@ -508,9 +503,7 @@ export class BluetoothLE extends IonicNativePlugin {
* @returns {Promise<{ devices: DeviceInfo[] }>} * @returns {Promise<{ devices: DeviceInfo[] }>}
*/ */
@Cordova({ callbackOrder: 'reverse' }) @Cordova({ callbackOrder: 'reverse' })
retrieveConnected(params?: { retrieveConnected(params?: { services?: string[] }): Promise<{ devices: DeviceInfo[] }> {
services?: string[];
}): Promise<{ devices: DeviceInfo[] }> {
return; return;
} }
@ -558,10 +551,7 @@ export class BluetoothLE extends IonicNativePlugin {
* error: The callback that will be triggered when the unbond operation fails * error: The callback that will be triggered when the unbond operation fails
*/ */
@Cordova({ callbackOrder: 'reverse', observable: true }) @Cordova({ callbackOrder: 'reverse', observable: true })
connect(params: { connect(params: { address: string; autoConnect?: boolean }): Observable<DeviceInfo> {
address: string;
autoConnect?: boolean;
}): Observable< DeviceInfo > {
return; return;
} }
@ -616,10 +606,7 @@ export class BluetoothLE extends IonicNativePlugin {
* error: The callback that will be triggered when the unbond operation fails * error: The callback that will be triggered when the unbond operation fails
*/ */
@Cordova({ callbackOrder: 'reverse' }) @Cordova({ callbackOrder: 'reverse' })
discover(params: { discover(params: { address: string; clearCache?: boolean }): Promise<Device> {
address: string;
clearCache?: boolean;
}): Promise<Device> {
return; return;
} }
@ -631,10 +618,7 @@ export class BluetoothLE extends IonicNativePlugin {
* @returns {Promise<Services>} * @returns {Promise<Services>}
*/ */
@Cordova({ callbackOrder: 'reverse' }) @Cordova({ callbackOrder: 'reverse' })
services(params: { services(params: { address: string; services?: string[] }): Promise<Services> {
address: string;
services?: string[];
}): Promise<Services> {
return; return;
} }
@ -646,9 +630,7 @@ export class BluetoothLE extends IonicNativePlugin {
* @returns {Promise<{ characteristics: Characteristics }>} The service id and an Array of characteristics * @returns {Promise<{ characteristics: Characteristics }>} The service id and an Array of characteristics
*/ */
@Cordova({ callbackOrder: 'reverse' }) @Cordova({ callbackOrder: 'reverse' })
characteristics( characteristics(params: CharacteristicParams): Promise<{ characteristics: Characteristics }> {
params: CharacteristicParams
): Promise<{ characteristics: Characteristics }> {
return; return;
} }
@ -752,7 +734,7 @@ export class BluetoothLE extends IonicNativePlugin {
* @returns {Promise< RSSI >} * @returns {Promise< RSSI >}
*/ */
@Cordova({ callbackOrder: 'reverse' }) @Cordova({ callbackOrder: 'reverse' })
rssi(params: { address: string }): Promise< RSSI > { rssi(params: { address: string }): Promise<RSSI> {
return; return;
} }
@ -763,7 +745,7 @@ export class BluetoothLE extends IonicNativePlugin {
* @returns {Promise< MTU >} * @returns {Promise< MTU >}
*/ */
@Cordova({ callbackOrder: 'reverse' }) @Cordova({ callbackOrder: 'reverse' })
mtu(params: { address: string; mtu?: number }): Promise< MTU > { mtu(params: { address: string; mtu?: number }): Promise<MTU> {
return; return;
} }
@ -775,10 +757,7 @@ export class BluetoothLE extends IonicNativePlugin {
* @returns {Promise<DeviceInfo>} * @returns {Promise<DeviceInfo>}
*/ */
@Cordova({ callbackOrder: 'reverse' }) @Cordova({ callbackOrder: 'reverse' })
requestConnectionPriority(params: { requestConnectionPriority(params: { address: string; connectionPriority: ConnectionPriority }): Promise<DeviceInfo> {
address: string;
connectionPriority: ConnectionPriority;
}): Promise<DeviceInfo> {
return; return;
} }
@ -906,9 +885,7 @@ export class BluetoothLE extends IonicNativePlugin {
* @returns {Observable<InitializeResult>} * @returns {Observable<InitializeResult>}
*/ */
@Cordova({ callbackOrder: 'reverse', observable: true }) @Cordova({ callbackOrder: 'reverse', observable: true })
initializePeripheral( initializePeripheral(params?: InitPeripheralParams): Observable<InitializeResult> {
params?: InitPeripheralParams
): Observable<InitializeResult> {
return; return;
} }
@ -933,9 +910,7 @@ export class BluetoothLE extends IonicNativePlugin {
* @returns {Promise<{ service: string, status: Status }>} * @returns {Promise<{ service: string, status: Status }>}
*/ */
@Cordova({ callbackOrder: 'reverse' }) @Cordova({ callbackOrder: 'reverse' })
removeService(params: { removeService(params: { service: string }): Promise<{ service: string; status: Status }> {
service: string;
}): Promise<{ service: string; status: Status }> {
return; return;
} }

View File

@ -35,7 +35,7 @@ import { Observable } from 'rxjs';
repo: 'https://github.com/don/BluetoothSerial', repo: 'https://github.com/don/BluetoothSerial',
plugin: 'cordova-plugin-bluetooth-serial', plugin: 'cordova-plugin-bluetooth-serial',
pluginRef: 'bluetoothSerial', pluginRef: 'bluetoothSerial',
platforms: ['Android', 'iOS', 'Windows Phone 8'] platforms: ['Android', 'iOS', 'Windows Phone 8'],
}) })
@Injectable() @Injectable()
export class BluetoothSerial extends IonicNativePlugin { export class BluetoothSerial extends IonicNativePlugin {
@ -47,7 +47,7 @@ export class BluetoothSerial extends IonicNativePlugin {
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'], platforms: ['Android', 'iOS', 'Windows Phone'],
observable: true, observable: true,
clearFunction: 'disconnect' clearFunction: 'disconnect',
}) })
connect(macAddress_or_uuid: string): Observable<any> { connect(macAddress_or_uuid: string): Observable<any> {
return; return;
@ -61,7 +61,7 @@ export class BluetoothSerial extends IonicNativePlugin {
@Cordova({ @Cordova({
platforms: ['Android'], platforms: ['Android'],
observable: true, observable: true,
clearFunction: 'disconnect' clearFunction: 'disconnect',
}) })
connectInsecure(macAddress: string): Observable<any> { connectInsecure(macAddress: string): Observable<any> {
return; return;
@ -82,7 +82,7 @@ export class BluetoothSerial extends IonicNativePlugin {
* @returns {Promise<any>} returns a promise when data has been written * @returns {Promise<any>} returns a promise when data has been written
*/ */
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'] platforms: ['Android', 'iOS', 'Windows Phone'],
}) })
write(data: any): Promise<any> { write(data: any): Promise<any> {
return; return;
@ -93,7 +93,7 @@ export class BluetoothSerial extends IonicNativePlugin {
* @returns {Promise<any>} returns a promise that contains the available bytes * @returns {Promise<any>} returns a promise that contains the available bytes
*/ */
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'] platforms: ['Android', 'iOS', 'Windows Phone'],
}) })
available(): Promise<any> { available(): Promise<any> {
return; return;
@ -104,7 +104,7 @@ export class BluetoothSerial extends IonicNativePlugin {
* @returns {Promise<any>} returns a promise with data from the buffer * @returns {Promise<any>} returns a promise with data from the buffer
*/ */
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'] platforms: ['Android', 'iOS', 'Windows Phone'],
}) })
read(): Promise<any> { read(): Promise<any> {
return; return;
@ -116,7 +116,7 @@ export class BluetoothSerial extends IonicNativePlugin {
* @returns {Promise<any>} returns a promise * @returns {Promise<any>} returns a promise
*/ */
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'] platforms: ['Android', 'iOS', 'Windows Phone'],
}) })
readUntil(delimiter: string): Promise<any> { readUntil(delimiter: string): Promise<any> {
return; return;
@ -130,7 +130,7 @@ export class BluetoothSerial extends IonicNativePlugin {
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'], platforms: ['Android', 'iOS', 'Windows Phone'],
observable: true, observable: true,
clearFunction: 'unsubscribe' clearFunction: 'unsubscribe',
}) })
subscribe(delimiter: string): Observable<any> { subscribe(delimiter: string): Observable<any> {
return; return;
@ -143,7 +143,7 @@ export class BluetoothSerial extends IonicNativePlugin {
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'], platforms: ['Android', 'iOS', 'Windows Phone'],
observable: true, observable: true,
clearFunction: 'unsubscribeRawData' clearFunction: 'unsubscribeRawData',
}) })
subscribeRawData(): Observable<any> { subscribeRawData(): Observable<any> {
return; return;
@ -154,7 +154,7 @@ export class BluetoothSerial extends IonicNativePlugin {
* @returns {Promise<any>} returns a promise when completed * @returns {Promise<any>} returns a promise when completed
*/ */
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'] platforms: ['Android', 'iOS', 'Windows Phone'],
}) })
clear(): Promise<any> { clear(): Promise<any> {
return; return;
@ -165,7 +165,7 @@ export class BluetoothSerial extends IonicNativePlugin {
* @returns {Promise<any>} returns a promise * @returns {Promise<any>} returns a promise
*/ */
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'] platforms: ['Android', 'iOS', 'Windows Phone'],
}) })
list(): Promise<any> { list(): Promise<any> {
return; return;
@ -176,7 +176,7 @@ export class BluetoothSerial extends IonicNativePlugin {
* @returns {Promise<any>} returns a promise * @returns {Promise<any>} returns a promise
*/ */
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'] platforms: ['Android', 'iOS', 'Windows Phone'],
}) })
isEnabled(): Promise<any> { isEnabled(): Promise<any> {
return; return;
@ -187,7 +187,7 @@ export class BluetoothSerial extends IonicNativePlugin {
* @returns {Promise<any>} returns a promise * @returns {Promise<any>} returns a promise
*/ */
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'] platforms: ['Android', 'iOS', 'Windows Phone'],
}) })
isConnected(): Promise<any> { isConnected(): Promise<any> {
return; return;
@ -198,7 +198,7 @@ export class BluetoothSerial extends IonicNativePlugin {
* @returns {Promise<any>} returns a promise * @returns {Promise<any>} returns a promise
*/ */
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'] platforms: ['Android', 'iOS', 'Windows Phone'],
}) })
readRSSI(): Promise<any> { readRSSI(): Promise<any> {
return; return;
@ -209,7 +209,7 @@ export class BluetoothSerial extends IonicNativePlugin {
* @returns {Promise<any>} returns a promise * @returns {Promise<any>} returns a promise
*/ */
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'] platforms: ['Android', 'iOS', 'Windows Phone'],
}) })
showBluetoothSettings(): Promise<any> { showBluetoothSettings(): Promise<any> {
return; return;
@ -220,7 +220,7 @@ export class BluetoothSerial extends IonicNativePlugin {
* @returns {Promise<any>} returns a promise * @returns {Promise<any>} returns a promise
*/ */
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'] platforms: ['Android', 'iOS', 'Windows Phone'],
}) })
enable(): Promise<any> { enable(): Promise<any> {
return; return;
@ -231,7 +231,7 @@ export class BluetoothSerial extends IonicNativePlugin {
* @returns {Promise<any>} returns a promise * @returns {Promise<any>} returns a promise
*/ */
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'] platforms: ['Android', 'iOS', 'Windows Phone'],
}) })
discoverUnpaired(): Promise<any> { discoverUnpaired(): Promise<any> {
return; return;
@ -244,7 +244,7 @@ export class BluetoothSerial extends IonicNativePlugin {
@Cordova({ @Cordova({
platforms: ['Android', 'iOS', 'Windows Phone'], platforms: ['Android', 'iOS', 'Windows Phone'],
observable: true, observable: true,
clearFunction: 'clearDeviceDiscoveredListener' clearFunction: 'clearDeviceDiscoveredListener',
}) })
setDeviceDiscoveredListener(): Observable<any> { setDeviceDiscoveredListener(): Observable<any> {
return; return;
@ -256,7 +256,7 @@ export class BluetoothSerial extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
platforms: ['Android'], platforms: ['Android'],
sync: true sync: true,
}) })
setName(newName: string): void {} setName(newName: string): void {}
@ -266,7 +266,7 @@ export class BluetoothSerial extends IonicNativePlugin {
*/ */
@Cordova({ @Cordova({
platforms: ['Android'], platforms: ['Android'],
sync: true sync: true,
}) })
setDiscoverable(discoverableDuration: number): void {} setDiscoverable(discoverableDuration: number): void {}
} }

View File

@ -200,9 +200,8 @@ export interface PaymentUIResult {
pluginRef: 'BraintreePlugin', pluginRef: 'BraintreePlugin',
repo: 'https://github.com/taracque/cordova-plugin-braintree', repo: 'https://github.com/taracque/cordova-plugin-braintree',
platforms: ['Android', 'iOS'], platforms: ['Android', 'iOS'],
install: install: 'ionic cordova plugin add https://github.com/taracque/cordova-plugin-braintree',
'ionic cordova plugin add https://github.com/taracque/cordova-plugin-braintree', installVariables: [],
installVariables: []
}) })
@Injectable() @Injectable()
export class Braintree extends IonicNativePlugin { export class Braintree extends IonicNativePlugin {
@ -214,7 +213,7 @@ export class Braintree extends IonicNativePlugin {
* @return {Promise<undefined | string>} Returns a promise that resolves with undefined on successful initialization, or rejects with a string message describing the failure. * @return {Promise<undefined | string>} Returns a promise that resolves with undefined on successful initialization, or rejects with a string message describing the failure.
*/ */
@Cordova({ @Cordova({
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
initialize(token: string): Promise<undefined | string> { initialize(token: string): Promise<undefined | string> {
return; return;
@ -233,7 +232,7 @@ export class Braintree extends IonicNativePlugin {
* @return {Promise<undefined | string>} Returns a promise that resolves with undefined on successful initialization, or rejects with a string message describing the failure. * @return {Promise<undefined | string>} Returns a promise that resolves with undefined on successful initialization, or rejects with a string message describing the failure.
*/ */
@Cordova({ @Cordova({
platforms: ['iOS'] platforms: ['iOS'],
}) })
setupApplePay(options: ApplePayOptions): Promise<undefined | string> { setupApplePay(options: ApplePayOptions): Promise<undefined | string> {
return; return;
@ -247,11 +246,9 @@ export class Braintree extends IonicNativePlugin {
* @return {Promise<PaymentUIResult | string>} Returns a promise that resolves with a PaymentUIResult object on successful payment (or the user cancels), or rejects with a string message describing the failure. * @return {Promise<PaymentUIResult | string>} Returns a promise that resolves with a PaymentUIResult object on successful payment (or the user cancels), or rejects with a string message describing the failure.
*/ */
@Cordova({ @Cordova({
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
presentDropInPaymentUI( presentDropInPaymentUI(options?: PaymentUIOptions): Promise<PaymentUIResult | string> {
options?: PaymentUIOptions
): Promise<PaymentUIResult | string> {
return; return;
} }
} }

View File

@ -36,16 +36,9 @@ export interface BranchIoProperties {
} }
export interface BranchUniversalObject { export interface BranchUniversalObject {
generateShortUrl( generateShortUrl(analytics: BranchIoAnalytics, properties: BranchIoProperties): Promise<any>;
analytics: BranchIoAnalytics,
properties: BranchIoProperties
): Promise<any>;
registerView(): Promise<any>; registerView(): Promise<any>;
showShareSheet( showShareSheet(analytics: BranchIoAnalytics, properties: BranchIoProperties, shareText: string): Promise<any>;
analytics: BranchIoAnalytics,
properties: BranchIoProperties,
shareText: string
): Promise<any>;
onShareSheetLaunched(callback: any): void; onShareSheetLaunched(callback: any): void;
onShareSheetDismissed(callback: any): void; onShareSheetDismissed(callback: any): void;
onLinkShareResponse(callback: any): void; onLinkShareResponse(callback: any): void;
@ -78,9 +71,8 @@ export interface BranchUniversalObject {
pluginName: 'BranchIo', pluginName: 'BranchIo',
plugin: 'branch-cordova-sdk', plugin: 'branch-cordova-sdk',
pluginRef: 'Branch', pluginRef: 'Branch',
repo: repo: 'https://github.com/BranchMetrics/cordova-ionic-phonegap-branch-deep-linking',
'https://github.com/BranchMetrics/cordova-ionic-phonegap-branch-deep-linking', platforms: ['iOS', 'Android'],
platforms: ['iOS', 'Android']
}) })
@Injectable() @Injectable()
export class BranchIo extends IonicNativePlugin { export class BranchIo extends IonicNativePlugin {
@ -197,9 +189,7 @@ export class BranchIo extends IonicNativePlugin {
* @return {Promise<BranchUniversalObject>} * @return {Promise<BranchUniversalObject>}
*/ */
@Cordova({ otherPromise: true }) @Cordova({ otherPromise: true })
createBranchUniversalObject( createBranchUniversalObject(properties: BranchIoProperties): Promise<BranchUniversalObject> {
properties: BranchIoProperties
): Promise<BranchUniversalObject> {
return; return;
} }

View File

@ -26,7 +26,7 @@ import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
plugin: 'cordova-plugin-brightness', plugin: 'cordova-plugin-brightness',
pluginRef: 'cordova.plugins.brightness', pluginRef: 'cordova.plugins.brightness',
repo: 'https://github.com/mgcrea/cordova-plugin-brightness', repo: 'https://github.com/mgcrea/cordova-plugin-brightness',
platforms: ['Android', 'iOS'] platforms: ['Android', 'iOS'],
}) })
@Injectable() @Injectable()
export class Brightness extends IonicNativePlugin { export class Brightness extends IonicNativePlugin {

View File

@ -28,7 +28,7 @@ import { Observable } from 'rxjs';
plugin: 'cordova-plugin-broadcaster', plugin: 'cordova-plugin-broadcaster',
pluginRef: 'broadcaster', pluginRef: 'broadcaster',
repo: 'https://github.com/bsorrentino/cordova-broadcaster', repo: 'https://github.com/bsorrentino/cordova-broadcaster',
platforms: ['Android', 'iOS', 'Browser'] platforms: ['Android', 'iOS', 'Browser'],
}) })
@Injectable() @Injectable()
export class Broadcaster extends IonicNativePlugin { export class Broadcaster extends IonicNativePlugin {
@ -40,7 +40,7 @@ export class Broadcaster extends IonicNativePlugin {
@Cordova({ @Cordova({
observable: true, observable: true,
clearFunction: 'removeEventListener', clearFunction: 'removeEventListener',
clearWithArgs: true clearWithArgs: true,
}) })
addEventListener(eventName: string): Observable<any> { addEventListener(eventName: string): Observable<any> {
return; return;

Some files were not shown because too many files have changed in this diff Show More