{"maintainers":[{"name":"deployment","email":"yourname@ncinga.com"}],"dist-tags":{"package@1.0.6":"1.0.6"},"versions":{"1.0.6":{"_args":[[{"raw":"cordova-plugin-nsp-qrreader","scope":null,"escapedName":"cordova-plugin-nsp-qrreader","name":"cordova-plugin-nsp-qrreader","rawSpec":"","spec":"latest","type":"tag"},"/Users/shadeeka/office/dev/ncinga-spark-one-app"]],"_from":"file:ncinga-cordova-plugin-nsp-qrreader-1.0.6.tgz","_id":"@ncinga/cordova-plugin-nsp-qrreader@1.0.6","_inCache":true,"_location":"/cordova-plugin-nsp-qrreader","_nodeVersion":"10.17.0","_npmUser":{"name":"deployment","email":"yourname@ncinga.com"},"_npmVersion":"6.11.3","_phantomChildren":{},"_requested":{"raw":"cordova-plugin-nsp-qrreader","scope":null,"escapedName":"cordova-plugin-nsp-qrreader","name":"cordova-plugin-nsp-qrreader","rawSpec":"","spec":"latest","type":"tag"},"_requiredBy":["#USER","/","/@ncinga-sp/nsp-counting-classifi","/@ncinga-sp/nsp-counting-tracking","/@ncinga-sp/nsp-ngx-packaging","/@ncinga-sp/nsp-reader","/@ncinga-sp/nsp-store"],"_resolved":"","_shasum":"aa78c617e4d028e8a1d776e4a6528943875206cf","_shrinkwrap":null,"_spec":"cordova-plugin-nsp-qrreader","_where":"/Users/shadeeka/office/dev/ncinga-spark-one-app","author":{"name":"shadeeka dharmabandu"},"bugs":{"url":"https://github.com/thecouk/ionic-cordova-plugin-template/issues"},"cordova":{"id":"cordova-plugin-nsp-qrreader","platforms":["android"]},"dependencies":{},"description":"this plugin is used to read qr and barcodes using google vision api","devDependencies":{},"dist":{"shasum":"45c319a4b2c194fbb9c94964567fcefdd80e8fe5","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/@ncinga/cordova-plugin-nsp-qrreader/-/cordova-plugin-nsp-qrreader-1.0.6.tgz","integrity":"sha512-U4CJHAeMOUJhUrQu/W5/rMDffIdUltncEjCi76WtmiXYLKPkh/3iZcM8XgFk6LXBNdV3mJO691gVtcCLLVVwuQ=="},"homepage":"https://github.com/thecouk/ionic-cordova-plugin-template#readme","keywords":["ecosystem:cordova","cordova-android"],"license":"MIT","maintainers":[{"name":"deployment","email":"yourname@ncinga.com"}],"publishConfig":{"registry":"http://repository.ncinga.com/nexus/content/repositories/npm-internal/"},"name":"@ncinga/cordova-plugin-nsp-qrreader","optionalDependencies":{},"readme":"# Plantilla para un Plugin de Cordova\n======\n\nPlantilla base para construir un plugin de iOS y Android.\n\n======\n# ¿Qué es un plugin de Cordova?\n\nCordova es un conjunto de herramientas que funcionan como puente para crear aplicaciones nativas e hibridas que se comunican a tráves de código Javascript.\n\nEse puente nos permite hacer cosas sencillas o tan complejas nativas que no se incorporan a los estandares de la Web.\n\nConstruir plugins de Cordova significa qu estamos escribiendo algo de JavaScript para invocar a algún código nativo (Objetive-c, Java, entre otros) que tambien deberemos de escribir y devolver el resultado a nuestro JavaScript.\n\nEn resumen, construimos un plugin de Cordova cuando queremos hacer algo nativo que aún no puede realizar el WebKit, como acceder a los datos de HealthKit, al scanner de huella, a la conexión bluetooth o a un SDK de terceros que permiten la conexión con dispositivos como impresoras y lectores.\n\n# Construcción de nuestro propio Plugin:\n\nFrameworks como Ionic cuentan con una libreria extensa de herramientas nativas en las cuales posiblemente encontrarás lo que buscas [IonicFramework](https://ionicframework.com/docs/native/), pero ¿cómo hacer uno propio? Bueno Cordova habilita una documentación para este fin: [Plugin Development Guide](https://cordova.apache.org/docs/en/7.x/guide/hybrid/plugins/index.html), sin embargo despues de mucho buscar y probar diferentes alternativas me guié finalmente por esta página: [How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2) la cúal se basa en una plantilla ya creada por el equipo de IONIC-TEAM [ionic-team/cordova-plugin-template](https://github.com/ionic-team/cordova-plugin-template) para clonar e instalar en nuestro proyecto, con el fin de entender y documentar un poco más, me decidi a en base a dicha plantilla crear una propia.\n\n## Paso 1:\n\nPosicionarse en el directorio de proyectos de Ionic en mi caso: `cd Documents/desarrollo/proyectos/ionic/...`\n\n## Paso 2:\n\nCrear un proyecto de Ionic: `ionic start nombreProyecto blank`\nSeleccionar proyecto: `cd nombreProyecto/`\n\n## Paso 3:\n\nInstalar Plugin: `ionic cordova plugin add https://github.com/thecouk/ionic-cordova-plugin-template.git`\n\n## Paso 4:\n\nModificar el archivo **home.ts** de la siguiente manera:\n\n## home.ts:\n\n```\nimport { Component } from '@angular/core';\n//Agregar Platform para poder evaluar si ya se cargo y esta lista la plataforma\nimport { NavController, Platform } from 'ionic-angular';\n\n@Component({\n  selector: 'page-home',\n  templateUrl: 'home.html'\n})\nexport class HomePage {\n\n  constructor(public navCtrl: NavController,public platform: Platform) {\n  }\n\n  ionViewDidLoad() {  \n    //Verifica si ya se encuentra lista la plataforma  \n    this.platform.ready().then(() => {\n          //Realiza el llamado al plugin e invoca segun el resultado la funcion correspondiente\n          (<any>window).MiPlugin.saludo('Mundo!!!', this.successCallback, this.errorCallback);\n    });\n  }\n\n  //Funcion para desplegar la respuesta cuando es satisfactorio\n  successCallback(message){\n      alert(message);\n  }\n\n  //Funcion si hubo un error\n  errorCallback(){\n      alert(\"Hubo un error\");\n  }\n\n}\n\n```\n\n## Paso 5:\n\nEjecutar a iOS: `ionic cordova run ios --prod` o para Android: `ionic cordova run android --prod`.\n\nPosteriormente puedes ir al directorio **platforms** donde encontrarás la carpeta de cada sistema operativo y podrás abrirlo en Xcode o Android Studio compilar y correr la aplicación.\n\n**LISTO** Si todo va bien verás una alerta **\"Hola todo el... Mundo!!!\"**, basicamente lo que estas viendo en esa alerta es la mezcla de lo hibrido con lo nativo. De aquí en más ya puedes agregar la complejidad que desees a tu aplicación.\n\n![Pantalla Plugin](https://github.com/thecouk/ionic-cordova-plugin-template/blob/master/HolaMundo.png?raw=true)\n\n**NOTA:** En tu proyecto podrás observar que dentro de la carpeta de **plugins** encontrarás la carpeta **mi-plugin** que a su vez contiene los archivos de definición y las carpetas que nos interesa entender y modificar **www/** y **src/** en la primera encontraremos el código Javascript que pone en uso la libreria de Cordova y nos permite definir las funciones que pondremos a disposición para nuestra aplicación.\n\n```\nvar exec = require('cordova/exec');\n\nvar PLUGIN_NAME = 'MiPlugin';\n\nvar MiPlugin = {\n  saludo: function (name, successCallback, errorCallback){\n        exec(successCallback, errorCallback, PLUGIN_NAME, \"saludar\", [name]);\n  }\n};\n\nmodule.exports = MiPlugin;\n\n```\n\nEn la segunda carpeta encontraremos en el caso de iOS dos archivos: **MiPlugin.h** y **MiPlugin.m** los cuales como te imaginaras son los archivos donde definiremos las funciones nativas que recibiran parametros y devolveran una respusta. En el caso de Android encontrarás una estructura de carpetas **\"Es necesario respetarla\"** ejemplo: **android/com/example/MiPlugin.java** donde de igual manera encontrarás las funciones para cuando ejecutes en Android.\n\n## MiPlugin.h\n```\n#import <Cordova/CDVPlugin.h>\n\n@interface MiPlugin : CDVPlugin {\n}\n\n// Encabezados de las funciones del plugin\n- (void) saludar:(CDVInvokedUrlCommand*)command;\n\n@end\n```\n\n## MiPlugin.m\n```\n#import \"MiPlugin.h\"\n\n#import <Cordova/CDVAvailability.h>\n\n@implementation MiPlugin\n\n- (void)pluginInitialize {\n}\n\n- (void)saludar:(CDVInvokedUrlCommand*)command\n{\n\n    NSString* name = [[command arguments] objectAtIndex:0];\n    NSString* msg = [NSString stringWithFormat: @\"Hola todo el...  %@\", name];\n\n    CDVPluginResult* result = [CDVPluginResult\n                               resultWithStatus:CDVCommandStatus_OK\n                               messageAsString:msg];\n\n    [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];\n}\n\n@end\n\n```\n\n## MiPlugin.java\n```\npackage com.example;\n\nimport org.apache.cordova.CallbackContext;\nimport org.apache.cordova.CordovaInterface;\nimport org.apache.cordova.CordovaPlugin;\nimport org.apache.cordova.CordovaWebView;\nimport org.apache.cordova.PluginResult;\nimport org.apache.cordova.PluginResult.Status;\nimport org.json.JSONObject;\nimport org.json.JSONArray;\nimport org.json.JSONException;\n\nimport android.util.Log;\n\nimport java.util.Date;\n\npublic class MiPlugin extends CordovaPlugin {\n  private static final String TAG = \"MiPlugin\";\n\n  public void initialize(CordovaInterface cordova, CordovaWebView webView) {\n    super.initialize(cordova, webView);\n\n    Log.d(TAG, \"Inicializando MiPlugin\");\n  }\n\n  public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {\n    if(action.equals(\"saludar\")) {\n      // An example of returning data back to the web layer\n       String phrase = args.getString(0);\n      // Echo back the first argument      \n      final PluginResult result = new PluginResult(PluginResult.Status.OK, \"Hola todo el...\"+phrase);\n      callbackContext.sendPluginResult(result);\n    }\n    return true;\n  }\n\n}\n\n```\n\n## Fuente de referencia:\nEste ejemplo es una adaptación del tutorial:\n[How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2)\n\n\n## Autor\n\n* **@TheCouk** ","readmeFilename":"README.md","repository":{"type":"git","url":"git+https://github.com/thecouk/ionic-cordova-plugin-template.git"},"version":"1.0.6","_integrity":""}},"name":"@ncinga/cordova-plugin-nsp-qrreader","description":"this plugin is used to read qr and barcodes using google vision api","readme":"# Plantilla para un Plugin de Cordova\n======\n\nPlantilla base para construir un plugin de iOS y Android.\n\n======\n# ¿Qué es un plugin de Cordova?\n\nCordova es un conjunto de herramientas que funcionan como puente para crear aplicaciones nativas e hibridas que se comunican a tráves de código Javascript.\n\nEse puente nos permite hacer cosas sencillas o tan complejas nativas que no se incorporan a los estandares de la Web.\n\nConstruir plugins de Cordova significa qu estamos escribiendo algo de JavaScript para invocar a algún código nativo (Objetive-c, Java, entre otros) que tambien deberemos de escribir y devolver el resultado a nuestro JavaScript.\n\nEn resumen, construimos un plugin de Cordova cuando queremos hacer algo nativo que aún no puede realizar el WebKit, como acceder a los datos de HealthKit, al scanner de huella, a la conexión bluetooth o a un SDK de terceros que permiten la conexión con dispositivos como impresoras y lectores.\n\n# Construcción de nuestro propio Plugin:\n\nFrameworks como Ionic cuentan con una libreria extensa de herramientas nativas en las cuales posiblemente encontrarás lo que buscas [IonicFramework](https://ionicframework.com/docs/native/), pero ¿cómo hacer uno propio? Bueno Cordova habilita una documentación para este fin: [Plugin Development Guide](https://cordova.apache.org/docs/en/7.x/guide/hybrid/plugins/index.html), sin embargo despues de mucho buscar y probar diferentes alternativas me guié finalmente por esta página: [How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2) la cúal se basa en una plantilla ya creada por el equipo de IONIC-TEAM [ionic-team/cordova-plugin-template](https://github.com/ionic-team/cordova-plugin-template) para clonar e instalar en nuestro proyecto, con el fin de entender y documentar un poco más, me decidi a en base a dicha plantilla crear una propia.\n\n## Paso 1:\n\nPosicionarse en el directorio de proyectos de Ionic en mi caso: `cd Documents/desarrollo/proyectos/ionic/...`\n\n## Paso 2:\n\nCrear un proyecto de Ionic: `ionic start nombreProyecto blank`\nSeleccionar proyecto: `cd nombreProyecto/`\n\n## Paso 3:\n\nInstalar Plugin: `ionic cordova plugin add https://github.com/thecouk/ionic-cordova-plugin-template.git`\n\n## Paso 4:\n\nModificar el archivo **home.ts** de la siguiente manera:\n\n## home.ts:\n\n```\nimport { Component } from '@angular/core';\n//Agregar Platform para poder evaluar si ya se cargo y esta lista la plataforma\nimport { NavController, Platform } from 'ionic-angular';\n\n@Component({\n  selector: 'page-home',\n  templateUrl: 'home.html'\n})\nexport class HomePage {\n\n  constructor(public navCtrl: NavController,public platform: Platform) {\n  }\n\n  ionViewDidLoad() {  \n    //Verifica si ya se encuentra lista la plataforma  \n    this.platform.ready().then(() => {\n          //Realiza el llamado al plugin e invoca segun el resultado la funcion correspondiente\n          (<any>window).MiPlugin.saludo('Mundo!!!', this.successCallback, this.errorCallback);\n    });\n  }\n\n  //Funcion para desplegar la respuesta cuando es satisfactorio\n  successCallback(message){\n      alert(message);\n  }\n\n  //Funcion si hubo un error\n  errorCallback(){\n      alert(\"Hubo un error\");\n  }\n\n}\n\n```\n\n## Paso 5:\n\nEjecutar a iOS: `ionic cordova run ios --prod` o para Android: `ionic cordova run android --prod`.\n\nPosteriormente puedes ir al directorio **platforms** donde encontrarás la carpeta de cada sistema operativo y podrás abrirlo en Xcode o Android Studio compilar y correr la aplicación.\n\n**LISTO** Si todo va bien verás una alerta **\"Hola todo el... Mundo!!!\"**, basicamente lo que estas viendo en esa alerta es la mezcla de lo hibrido con lo nativo. De aquí en más ya puedes agregar la complejidad que desees a tu aplicación.\n\n![Pantalla Plugin](https://github.com/thecouk/ionic-cordova-plugin-template/blob/master/HolaMundo.png?raw=true)\n\n**NOTA:** En tu proyecto podrás observar que dentro de la carpeta de **plugins** encontrarás la carpeta **mi-plugin** que a su vez contiene los archivos de definición y las carpetas que nos interesa entender y modificar **www/** y **src/** en la primera encontraremos el código Javascript que pone en uso la libreria de Cordova y nos permite definir las funciones que pondremos a disposición para nuestra aplicación.\n\n```\nvar exec = require('cordova/exec');\n\nvar PLUGIN_NAME = 'MiPlugin';\n\nvar MiPlugin = {\n  saludo: function (name, successCallback, errorCallback){\n        exec(successCallback, errorCallback, PLUGIN_NAME, \"saludar\", [name]);\n  }\n};\n\nmodule.exports = MiPlugin;\n\n```\n\nEn la segunda carpeta encontraremos en el caso de iOS dos archivos: **MiPlugin.h** y **MiPlugin.m** los cuales como te imaginaras son los archivos donde definiremos las funciones nativas que recibiran parametros y devolveran una respusta. En el caso de Android encontrarás una estructura de carpetas **\"Es necesario respetarla\"** ejemplo: **android/com/example/MiPlugin.java** donde de igual manera encontrarás las funciones para cuando ejecutes en Android.\n\n## MiPlugin.h\n```\n#import <Cordova/CDVPlugin.h>\n\n@interface MiPlugin : CDVPlugin {\n}\n\n// Encabezados de las funciones del plugin\n- (void) saludar:(CDVInvokedUrlCommand*)command;\n\n@end\n```\n\n## MiPlugin.m\n```\n#import \"MiPlugin.h\"\n\n#import <Cordova/CDVAvailability.h>\n\n@implementation MiPlugin\n\n- (void)pluginInitialize {\n}\n\n- (void)saludar:(CDVInvokedUrlCommand*)command\n{\n\n    NSString* name = [[command arguments] objectAtIndex:0];\n    NSString* msg = [NSString stringWithFormat: @\"Hola todo el...  %@\", name];\n\n    CDVPluginResult* result = [CDVPluginResult\n                               resultWithStatus:CDVCommandStatus_OK\n                               messageAsString:msg];\n\n    [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];\n}\n\n@end\n\n```\n\n## MiPlugin.java\n```\npackage com.example;\n\nimport org.apache.cordova.CallbackContext;\nimport org.apache.cordova.CordovaInterface;\nimport org.apache.cordova.CordovaPlugin;\nimport org.apache.cordova.CordovaWebView;\nimport org.apache.cordova.PluginResult;\nimport org.apache.cordova.PluginResult.Status;\nimport org.json.JSONObject;\nimport org.json.JSONArray;\nimport org.json.JSONException;\n\nimport android.util.Log;\n\nimport java.util.Date;\n\npublic class MiPlugin extends CordovaPlugin {\n  private static final String TAG = \"MiPlugin\";\n\n  public void initialize(CordovaInterface cordova, CordovaWebView webView) {\n    super.initialize(cordova, webView);\n\n    Log.d(TAG, \"Inicializando MiPlugin\");\n  }\n\n  public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {\n    if(action.equals(\"saludar\")) {\n      // An example of returning data back to the web layer\n       String phrase = args.getString(0);\n      // Echo back the first argument      \n      final PluginResult result = new PluginResult(PluginResult.Status.OK, \"Hola todo el...\"+phrase);\n      callbackContext.sendPluginResult(result);\n    }\n    return true;\n  }\n\n}\n\n```\n\n## Fuente de referencia:\nEste ejemplo es una adaptación del tutorial:\n[How to write Cordova Plugins](https://medium.com/ionic-and-the-mobile-web/how-to-write-cordova-plugins-864e40025f2)\n\n\n## Autor\n\n* **@TheCouk** ","time":{"1.0.6":"2022-05-06T15:44:00.878Z","created":"2022-05-06T15:44:00.878Z","modified":"2022-05-06T15:44:00.878Z"}}