diff --git a/src/index.js b/src/index.js index fe5951d0..be3e7420 100644 --- a/src/index.js +++ b/src/index.js @@ -2,34 +2,24 @@ import {Plugins} from './plugins'; import {PluginConfig} from './plugin-config' import {promisifyCordova} from './cordova'; -class IonicNative { - constructor() { - let pluginData, promised; - for(let plugin in PluginConfig) { +let Wrapped = { +} - pluginData = PluginConfig[plugin]; - console.log('Plugin', plugin, pluginData); +let promised; +for(let plugin of PluginConfig) { + console.log('Plugin', plugin.name, plugin); - promised = pluginData.promise; + Wrapped[plugin.className] = {}; - for(let method of promised) { + promised = plugin.promise; - - let p = promisifyCordova(plugin, method) - p().then((resp) => { - console.log('Thing'); - }) - } - - } + for(let method of promised) { + let p = promisifyCordova(plugin.id, method) + Wrapped[plugin.className][method] = p; } } +export {Wrapped}; -let Native = new IonicNative; - -export default Native; - -// Because require isn't exporting properly, who the fuck knows -window.IonicNative = Native +window.Native = Wrapped; diff --git a/src/plugin-config.js b/src/plugin-config.js index 25a758ac..ea84b871 100644 --- a/src/plugin-config.js +++ b/src/plugin-config.js @@ -1,7 +1,8 @@ -export var PluginConfig = { - "camera": { - 'name': 'Camera', +export var PluginConfig = [ + { + 'id': 'camera', + 'className': 'Camera', 'plugin': 'cordova-plugin-camera', - "promise": ["takePicture"], + 'promise': ['takePicture'], } -} +] diff --git a/test/app/app.js b/test/app/app.js index b883e272..89f214e0 100644 --- a/test/app/app.js +++ b/test/app/app.js @@ -1 +1,7 @@ -console.log(window.require); +console.log(window.Native); + +Native.Camera.takePicture().then(function(resp) { + console.log('Got picture'); +}, function(err) { + console.log('ERROR'); +});