@red-mobile/cordova-plugin-barcodescanner
Version:
You can use the BarcodeScanner plugin to scan different types of barcodes (using the device's camera) and get the metadata encoded in them for processing within your application.
84 lines (74 loc) • 2.26 kB
JavaScript
/* global cordova:true */
/*!
* Module dependencies.
*/
/**
* cordova.js for node.
*
* Think of this as cordova-node, which would be simliar to cordova-android
* or cordova-browser. The purpose of this module is to enable testing
* of a plugin's JavaScript interface.
*
* When this module is first required, it will insert a global cordova
* instance, which can hijack cordova-specific commands within the pluin's
* implementation.
*
* Remember to require this module before the plugin that you want to test.
*
* Example:
*
* var cordova = require('./helper/cordova'),
* myPlugin = require('../www/myPlugin');
*/
module.exports = global.cordova = cordova = {
/**
* cordova.require Mock.
*
* Hijacks all cordova.requires. By default, it returns an empty function.
* You can define your own implementation of each required module before
* or after it has been required.
*
* See `cordova.required` to learn how to add your own module implemtnation.
*/
require: function(moduleId) {
// define a default function if it doesn't exist
if (!cordova.required[moduleId]) {
cordova.required[moduleId] = function() {};
}
// create a new module mapping between the module Id and cordova.required.
return new ModuleMap(moduleId);
},
/**
* Cordova module implementations.
*
* A key-value hash, where the key is the module such as 'cordova/exec'
* and the value is the function or object returned.
*
* For example:
*
* var exec = require('cordova/exec');
*
* Will map to:
*
* cordova.required['cordova/exec'];
*/
required: {
// populated at runtime
}
};
/**
* Module Mapper.
*
* Returns a function that when executed will lookup the implementation
* in cordova.required[id].
*
* @param {String} moduleId is the module name/path, such as 'cordova/exec'
* @return {Function}.
*/
function ModuleMap(moduleId) {
return function() {
// lookup and execute the module's mock implementation, passing
// in any parameters that were provided.
return cordova.required[moduleId].apply(this, arguments);
};
}