Deep keys

This commit is contained in:
Max Lynch 2015-11-24 15:00:16 -06:00
parent a05462526d
commit eb0b857b96
3 changed files with 20 additions and 6 deletions

View File

@ -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

View File

@ -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'
},
]

6
src/util.js Normal file
View File

@ -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;
};