diff --git a/src/index.js b/src/index.js index acd91cde..af48f957 100644 --- a/src/index.js +++ b/src/index.js @@ -1,6 +1,8 @@ import {PluginConfig} from './plugin-config' import {promisifyCordova} from './cordova'; +import {get} from './util'; + let wrappedPlugins = {} let promised; @@ -8,7 +10,7 @@ let promised; function newPluginClass(config) { let obj = { installed: () => { - return config.pluginRef && window.hasOwnProperty(config.pluginRef); + return config.pluginRef && get(window, config.pluginRef); }, plugin: config.plugin diff --git a/src/plugin-config.js b/src/plugin-config.js index 3351ed8f..8ad90400 100644 --- a/src/plugin-config.js +++ b/src/plugin-config.js @@ -1,4 +1,10 @@ export var PluginConfig = [ + { + id: 'device', + className: 'Device', + plugin: 'cordova-plugin-device', + pluginRef: 'device' + }, { id: 'camera', className: 'Camera', @@ -7,9 +13,9 @@ export var PluginConfig = [ pluginRef: 'navigator.camera' }, { - id: 'device', - className: 'Device', - plugin: 'cordova-plugin-device', - pluginRef: 'device' - } + id: 'applinks', + className: 'AppLinks', + plugin: 'com.lampa.startapp', + pluginRef: 'navigator.startApp' + }, ] diff --git a/src/util.js b/src/util.js new file mode 100644 index 00000000..d83fd049 --- /dev/null +++ b/src/util.js @@ -0,0 +1,6 @@ +export function get(obj, path) { + for (var i=0, path = path.split('.'), len = path.length; i < len; i++) { + obj = obj[path[i]]; + } + return obj; +};