{"_id":"@achyutlabsau/cordova-plugin-thermal-printer","_rev":"27-9681b833444441b4ea3c86c237bb55f2","name":"@achyutlabsau/cordova-plugin-thermal-printer","dist-tags":{"latest":"1.4.0"},"versions":{"0.0.1":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"0.0.1","keywords":["ecosystem:cordova","cordova-android","thermal","printer","cordova","plugin","esc","pos","esc/pos"],"author":{"name":"Achyutlabs pty ltd"},"license":"Apache-2.0","_id":"@achyutlabsau/cordova-plugin-thermal-printer@0.0.1","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"f79dfabe91babbe753fc5f818365b8917bccefac","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-0.0.1.tgz","fileCount":18,"integrity":"sha512-nLBxJPgLI77Cc9vuHsYYuhg9tBxWe+2glU9oGhZgqT1VHlTyrxrnfNRjS0F1QGvDYn3F/JAKIM9dVyGEczS6kA==","signatures":[{"sig":"MEUCIQC9e5Fux8NwHjdQix1r4B1zmVSenOQw22m7KcrlZ/XubwIgSrb0Af5RWQ7SiE7oFad1S0X17sHpa2DIIkF8kuTctCc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58889},"gitHead":"199175e0ada3597f7df5f9d306dbe81642b31c51","private":false,"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"10.9.0","description":"Cordova wrapper for ESC/POS Thermal Printer library","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_0.0.1_1733859545799_0.6872968824124848","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"0.0.2","keywords":["ecosystem:cordova","cordova-android","thermal","printer","cordova","plugin","esc","pos","esc/pos"],"author":{"name":"Achyutlabs pty ltd"},"license":"Apache-2.0","_id":"@achyutlabsau/cordova-plugin-thermal-printer@0.0.2","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"09eda313a21cfca35f5213040e3818217bec9a9c","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-0.0.2.tgz","fileCount":9,"integrity":"sha512-UefmfUFKafZO948GtzU6EGoPzdxzcC0fakLcUNMS0l6ua9aAhk2qHhzjWd7JntpflGFiwcqCWYw5UH+P1C+/kg==","signatures":[{"sig":"MEUCIQD+0pcuABwWWhRSAuZ6dEz04K+CAc3qbkoUMutQAbWnywIgEAKtemuWLWa0YkF7LUUPpZT9k50V1LhlFjQ4hPkiQfw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58768},"gitHead":"199175e0ada3597f7df5f9d306dbe81642b31c51","private":false,"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"10.9.0","description":"Cordova wrapper for ESC/POS Thermal Printer library","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_0.0.2_1733929785431_0.5956961503448139","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"0.0.3","keywords":["ecosystem:cordova","cordova-android","thermal","printer","cordova","plugin","esc","pos","esc/pos"],"author":{"name":"Achyutlabs pty ltd"},"license":"Apache-2.0","_id":"@achyutlabsau/cordova-plugin-thermal-printer@0.0.3","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"f2906f9924f59f7a5250d123d63437872177869b","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-0.0.3.tgz","fileCount":18,"integrity":"sha512-EckuPRSJHQ4DEMi9ytJ4MI0traJM1S5m5mj5nuiy5rOJP8tQcFHyrGLbpqlg6EZAShkjpER7M5WYMFTMo0209g==","signatures":[{"sig":"MEUCIEsQGzBb4TII221KiNNscjyY0a/7rrlGHu4T7hW7N/EOAiEAumFQCScJ/uQpSYAy4lbY9WJsGgoxt3hCjEnAcJmJ7Jk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59267},"gitHead":"782d178303c8feb9df5d5e34834180fcdf15be43","private":false,"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"10.9.0","description":"Cordova wrapper for ESC/POS Thermal Printer library","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_0.0.3_1733930630536_0.2085488460441398","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"0.0.4","keywords":["ecosystem:cordova","cordova-android","thermal","printer","cordova","plugin","esc","pos","esc/pos"],"author":{"name":"Achyutlabs pty ltd"},"license":"Apache-2.0","_id":"@achyutlabsau/cordova-plugin-thermal-printer@0.0.4","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"3e84536a8aeebf12af2eba0422adf16477f68ced","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-0.0.4.tgz","fileCount":22,"integrity":"sha512-oPMZiL9grxeNnHvIRJaxeiPs5tm0V681/Wg9yiP8dSYKQHoH9BGL1Ih/N3kLKgY233tmDuRgJBYADefw5byL9Q==","signatures":[{"sig":"MEUCIAb+dJHAPMX3sQOsChXs9kCiA3n8YUcRavO4rsB6mULuAiEAhr0Bd47ew/1SIEuqtxs3+7c9OswapCpBXUHjuqxtsGs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68875},"gitHead":"b41cb295c0d3c55054af4e6e78b2b6d6b0dfad7d","private":false,"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"10.9.0","description":"Cordova wrapper for ESC/POS Thermal Printer library","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_0.0.4_1733931328074_0.4325825610707348","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"0.0.5","keywords":["ecosystem:cordova","cordova-android","thermal","printer","cordova","plugin","esc","pos","esc/pos"],"author":{"name":"Achyutlabs pty ltd"},"license":"Apache-2.0","_id":"@achyutlabsau/cordova-plugin-thermal-printer@0.0.5","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"75ecc430913e02978000adebd3d90269d7764211","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-0.0.5.tgz","fileCount":11,"integrity":"sha512-7oEyaFVmtKNtG7KMkGchM5J/OMRv/WfHWXNTknFcqm6h7f5NERNEruNvwllRLdNb/5z7IeEgY/6JXjaHf6QqqQ==","signatures":[{"sig":"MEUCIQCVXOBa7iPTIJDPGqt959Pm1Dc6wJ6dTIoaO0QfYTkwPgIgHSnzYdp2dzyxVy00QXTrCMNVSbvSC4+kb3vdFnWppL8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":89177},"gitHead":"e2a79a9b04529ae7c113e37b966a5f1b8f0df719","private":false,"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"10.9.0","description":"Cordova wrapper for ESC/POS Thermal Printer library","directories":{},"_nodeVersion":"22.11.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_0.0.5_1735279320798_0.18752733320879855","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"0.0.6","keywords":["ecosystem:cordova","cordova-android","thermal","printer","cordova","plugin","esc","pos","esc/pos"],"author":{"name":"Achyutlabs pty ltd"},"license":"Apache-2.0","_id":"@achyutlabsau/cordova-plugin-thermal-printer@0.0.6","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"afcf3d06eb7416a929bca39e25dcffda4b9dfa19","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-0.0.6.tgz","fileCount":11,"integrity":"sha512-bD+xHjGFCz4pD+bEdOrGMAf5tlAapn7yVlxdsfwNWyUV8WFPzCq5iAe5+wgax8pe0K2yB6nheteWbr3vLxDGrQ==","signatures":[{"sig":"MEQCIG5hv7C8sYwU5ke6rltYAt19iqk5COdu2OHc9LRMnesjAiAhUHOoa+HAd/1KA7yoj++k0loJNV1dhkvYJbFclAIhvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87529},"gitHead":"e2a79a9b04529ae7c113e37b966a5f1b8f0df719","private":false,"scripts":{"build":"tsc --build"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"10.9.0","description":"Cordova wrapper for ESC/POS Thermal Printer library","directories":{},"_nodeVersion":"22.11.0","dependencies":{"html2canvas":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_0.0.6_1735306167989_0.4601042757169851","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"0.0.7","keywords":["ecosystem:cordova","cordova-android","thermal","printer","cordova","plugin","esc","pos","esc/pos"],"author":{"name":"Achyutlabs pty ltd"},"license":"Apache-2.0","_id":"@achyutlabsau/cordova-plugin-thermal-printer@0.0.7","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"5cddb33ae446a8f1d2ebd595ec0aee0fda7103e1","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-0.0.7.tgz","fileCount":13,"integrity":"sha512-wx7EIy3VQ/m8W2yXX69c/yjcLXZkpEesrrY3CqxA5lWhu+jJL00llhLF002lpXv4ZK+DcNQ1/xTv+hvScp90iQ==","signatures":[{"sig":"MEQCIGgJx6xxOyy+XXqmPa1qjvLrK8MnhVuGif+dpieK4UdZAiBcJOK2zSM5/eatyutPl1Nzvs3SIINfdTLnw6uERtMbbA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91696},"main":"dist/printer.js","types":"./dist/printer.d.ts","gitHead":"e2a79a9b04529ae7c113e37b966a5f1b8f0df719","private":false,"scripts":{"build":"tsc --build"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"10.9.0","description":"Cordova wrapper for ESC/POS Thermal Printer library","directories":{},"_nodeVersion":"22.11.0","dependencies":{"html2canvas":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_0.0.7_1735307693982_0.922260774743556","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"0.0.8","keywords":["ecosystem:cordova","cordova-android","thermal","printer","cordova","plugin","esc","pos","esc/pos"],"author":{"name":"Achyutlabs pty ltd"},"license":"Apache-2.0","_id":"@achyutlabsau/cordova-plugin-thermal-printer@0.0.8","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"63653ec5cf4d8e11d1fad01329a0576c54ed3080","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-0.0.8.tgz","fileCount":19,"integrity":"sha512-6zjMf4DSXPfZsI4TfiP2PgL0vEIfzRyymtN/T9868fhTP2akU+xnO/QRF0hWRdk28GV7Yu9RI/PFTyjsLRUytQ==","signatures":[{"sig":"MEYCIQDPTRbtzps66SnYm4XhHN5Gt9kplJ5htEDFmJYip2N0qQIhAKHc9cEbM1+hjx2dkxSWfpsKQ53YCeMzkCLMwJnSlr7B","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":100744},"main":"dist/printer.js","types":"dist/printer.d.ts","gitHead":"4f2165539987302692525057862163420669341a","private":false,"scripts":{"build":"tsc --build"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"10.9.0","description":"Cordova wrapper for ESC/POS Thermal Printer library","directories":{},"_nodeVersion":"22.11.0","dependencies":{"html2canvas":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_0.0.8_1735308522722_0.7243148034318732","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"0.0.9","keywords":["ecosystem:cordova","cordova-android","thermal","printer","cordova","plugin","esc","pos","esc/pos"],"author":{"name":"Achyutlabs pty ltd"},"license":"Apache-2.0","_id":"@achyutlabsau/cordova-plugin-thermal-printer@0.0.9","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"72b46e4868d6ae0bedbd8c5b3a5d3d887e73afa5","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-0.0.9.tgz","fileCount":22,"integrity":"sha512-9dBCpZ8aRQ0a+URM8HwssJmgVqBY02KgeJSsXK8R1FrGySY5BdIgdfKILpq64ILXUvkDIxxtgkrKo/P5GNqf7A==","signatures":[{"sig":"MEUCIAMAQlNkCct1LICEF/+0FZpL7C+5qc+oyF1Y/w2ZDd4sAiEA6oBNhD30q4l+mhXehQ6DmqLcy5Uib7+WJvWO/W2pH/w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109857},"main":"dist/printer.js","types":"dist/printer.d.ts","gitHead":"0fe9f0f75170ff32d0f7a80eb958240ba217c044","private":false,"scripts":{"build":"npm run clean && tsc --build","clean":"git clean -fx"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"10.9.0","description":"Cordova wrapper for ESC/POS Thermal Printer library","directories":{},"_nodeVersion":"22.11.0","dependencies":{"html2canvas":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_0.0.9_1735320599027_0.43096697821063246","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"0.0.10","keywords":["ecosystem:cordova","cordova-android","thermal","printer","cordova","plugin","esc","pos","esc/pos"],"author":{"name":"Achyutlabs pty ltd"},"license":"Apache-2.0","_id":"@achyutlabsau/cordova-plugin-thermal-printer@0.0.10","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"32923ac6c90d235d10ad9335064df1deb659cf32","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-0.0.10.tgz","fileCount":15,"integrity":"sha512-sMaY+6nB9bAIUHicA4XOf7A/FCeH5OqYuZMkw5bk2pzp0jL+zZHW+OQbgxQXDSu5R45d55xsnDTitrdQ1Wp51Q==","signatures":[{"sig":"MEQCIFxpRBQjV1Pa8S+1cojVnkogtleCUdsGvhe0vBKqkUupAiAzQhd4UOFwirDmeTQeyn4l/cIkGfKWkduGUz0RdpmZGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70791},"main":"dist/printer.js","types":"dist/printer.d.ts","gitHead":"0fe9f0f75170ff32d0f7a80eb958240ba217c044","private":false,"scripts":{"build":"npm run clean && tsc --build","clean":"git clean -fx dist"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"10.9.0","description":"Cordova wrapper for ESC/POS Thermal Printer library","directories":{},"_nodeVersion":"22.11.0","dependencies":{"html2canvas":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_0.0.10_1738871042052_0.9429993588152534","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"0.0.11","keywords":["ecosystem:cordova","cordova-android","thermal","printer","cordova","plugin","esc","pos","esc/pos"],"author":{"name":"Achyutlabs pty ltd"},"license":"Apache-2.0","_id":"@achyutlabsau/cordova-plugin-thermal-printer@0.0.11","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"3ec1c8a2e9c9f1b78bded2125eaee3bad3466537","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-0.0.11.tgz","fileCount":19,"integrity":"sha512-69ROMeF5ALcBDqCqIHYJKWDMVHbM8HOx3Y5ihyGRVj1YrlP4XXeBv29N8nHNFbELUpQqWSA88JMm5KjyzqV6/g==","signatures":[{"sig":"MEUCIQCy87Y3RkoHFcufnZNbLxWE3RrYiqVIRuHRsVPImuToWwIgalSEcazX5b0BIortld8o+lR1Tb6vyGBYZ9iZDUlHgcw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104040},"main":"dist/printer.js","types":"dist/printer.d.ts","gitHead":"0fe9f0f75170ff32d0f7a80eb958240ba217c044","private":false,"scripts":{"build":"npm run clean && tsc --build","clean":"git clean -fx"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"10.9.0","description":"Cordova wrapper for ESC/POS Thermal Printer library","directories":{},"_nodeVersion":"22.11.0","dependencies":{"html2canvas":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_0.0.11_1738871975242_0.5346338575153431","host":"s3://npm-registry-packages-npm-production"}},"1.1.32":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.1.32","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.1.32","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"e103d1947aaf041b83c3250a3058bf7528f99435","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.1.32.tgz","fileCount":20,"integrity":"sha512-WBsh5A6x8bgMnZqK7Wo24DxE56AhjArR/D8HdginayTgFXNmIO2NMRCQxLHYKeW4HoGRcUIBAH2SDLINeXAI5Q==","signatures":[{"sig":"MEQCIHlUotefcuYIkqQMrL0QEk0Pnx0vES0XFsglee9D/cgDAiBWyOKjBSSx1K4pV6CY0gGpmAIKpebZEJWrEkReOD0Psg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3743179},"main":"www/printer.js","gitHead":"c7c3cc359af690527ec8c53173b8ebd9b5df6c24","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"11.6.1","description":"Cordova Plugin for Printer Library","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_1.1.32_1761549917089_0.9951223245264551","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.2.0","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.2.0","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"81289c44c3d7096ef3f990af5cc4fe24c8033f72","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.2.0.tgz","fileCount":20,"integrity":"sha512-Tv/S3a3U+kQAbcL88+nikDIiiq87DxCAZykPQsLs/UjNXcBAdoaxa9rsEsAfRo9vQxg91D3QNNrue2OLJ8E7HA==","signatures":[{"sig":"MEUCIDpahKfIlscEvbbDhlQquCGGChBf2N67flrH8H1tcOwQAiEA04XSlAat9IyRCmrluu3pLHBeKMY9edWwITFiy6U7SiA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3741839},"main":"www/printer.js","gitHead":"7335fb8d7e78ea72097467e2f202dd9bc4eacb99","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"11.6.1","description":"Cordova Plugin for Printer Library","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_1.2.0_1761550918183_0.37473200331954404","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.2.1","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.2.1","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"f36c8c19a3d6eaeb5914076e7317fb2eff670b49","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.2.1.tgz","fileCount":20,"integrity":"sha512-l7TZCgSIBuh8DmpkTScYo6+1xBz2SkqTKUdXvjvqsjTBClRvUOo7/N91gzCGwMSLfZS94YARDhAP0uAM5+MGhw==","signatures":[{"sig":"MEUCIEDIuTAGxxWMi/KgVOo9w1m76ghoZQSO7WQErq03iMfdAiEA9NUXmNqfsjjOAHG7q/PyoJPRANI5Qvi/TtGdko7Pj3o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3754122},"main":"www/printer.js","gitHead":"41470706d49a699e0eb64a213230f6edcc8e2614","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"11.6.1","description":"Cordova Plugin for Printer Library","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_1.2.1_1762853474189_0.8522543234471927","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.2.2","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.2.2","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"18c532cb18bb261d9ecfab83b023d8a230114657","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.2.2.tgz","fileCount":20,"integrity":"sha512-r1JhbK57ZCK0kNcQayLEUBObCdK0qqM/tjZAXjG8AMSQZaw4KS9v8j0+N5OzcWk6agrJRs/rVb/GrIECY5isUQ==","signatures":[{"sig":"MEQCIDVnhTXGouMD+qH7oUgHlW6V2xv4sfyrjBpxf2/cZouTAiA5GGpn916OI7rLbZ56HG2GmBYSzK6NOOtX1O/Bm/uiGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3754018},"main":"www/printer.js","gitHead":"41470706d49a699e0eb64a213230f6edcc8e2614","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"11.6.1","description":"Cordova Plugin for Printer Library","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_1.2.2_1762854073502_0.2936058580317531","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.2.3","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.2.3","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"238a0ec6ca35114a407ffb1d850f5d3a63ae5022","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.2.3.tgz","fileCount":20,"integrity":"sha512-dFHEDsBiFZ3lIKQqBVjLNXcdpgM0cPBpanfnMfMvBKx/30UZcjSH3hutKcU7t3p0FmDT1ysJ5CCnYOw8/Oo1Qg==","signatures":[{"sig":"MEUCIFZMtJEFbQ8lGm+6HDUjGShMHg/vmG078hwnM2lYdwJTAiEAnYGwUlka3CGVEg4f6WLN1J9Xv09/YWgL1F9dGmHNvKc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3753578},"main":"www/printer.js","gitHead":"41470706d49a699e0eb64a213230f6edcc8e2614","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"11.6.1","description":"Cordova Plugin for Printer Library","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_1.2.3_1762854420925_0.14802373221988785","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.2.4","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.2.4","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"7acef08404d061ba9ea66ccef3360b8f50f45505","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.2.4.tgz","fileCount":19,"integrity":"sha512-Ue8rkqjpKBSBjbg1ZVkqD9njG7pzKKYeb14+fhUma+CNJFAHPyhvgr2jh7PVMklHTEDgVZGnvBovAbReTzvNTQ==","signatures":[{"sig":"MEUCIDDxKadF7zVb78aJvt5IhB25KU+4YLtPDw/fRV4EHgSxAiEAxTJ0PrC1m9oOM9SbbgBbjI+VFFP4xH7+PfGofmyKhWw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3734743},"main":"www/printer.js","gitHead":"bf9191242bd473fe1de7422854ac87a612b3e5ae","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"11.6.1","description":"Cordova Plugin for Printer Library","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_1.2.4_1763379724956_0.9393597853923343","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.2.5","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.2.5","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"976e7114992169236e1ffc9b3bc260e6ec0fe6cd","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.2.5.tgz","fileCount":20,"integrity":"sha512-si18ZEWZIfpN+zK72vjDRNr4Yzqytkls9WWyM5cUFVZ0FF/0Q2+stJgxv6Umah2jkL4uVV2xDYwnFdPl2xBZgg==","signatures":[{"sig":"MEUCIQDmdxxJFEmDzvwRk4LJwLsMRLYRHMvv+q5DHnuZoL6alQIgVN+Nxf22SWaL6S2lY1XNSUFrgn6yyJd4MCS/BVQ8j6Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3753578},"main":"www/printer.js","gitHead":"e4a8205bcf87bccd10267c72949883fd6baca7da","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"11.6.1","description":"Cordova Plugin for Printer Library","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_1.2.5_1763379805633_0.7808255693257131","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.2.6","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.2.6","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"184d9e4fe3ce93daa1709c4ea937e771ec5cc1a0","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.2.6.tgz","fileCount":20,"integrity":"sha512-hRfqPtJHutCSMhhmYvFTRS/thL1LF0q7F4W0aumVGLNWtAVGvXlp5Bf4OMKdMeKljnyAbVJf7ZM4WYRZjZWr9g==","signatures":[{"sig":"MEQCID3+xC8pHuKBrxzzBgyyD6znYuBOd7wECHIGDTF6+QsDAiAIoLuVl0+QPfVkyqxgnny1fgc2O8KnNGVHv+7GOc3Ckw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3754849},"main":"www/printer.js","gitHead":"e2533385646c9aeb7ec13d4879acff5bdc0acbfd","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"11.6.1","description":"Cordova Plugin for Printer Library","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_1.2.6_1763400677216_0.8296472582290626","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.2.7","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.2.7","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"3a3a11e242962807ead60d5117e99f12bc5d8ccc","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.2.7.tgz","fileCount":20,"integrity":"sha512-LlEKpWCY2Rtx8MHt/Xl7EufaqRRV0XElVgZB5vpU9Kj0ZDcQqgztSX2YwHN0ALDct+AjJD1/URt7vtwwpDmZxQ==","signatures":[{"sig":"MEUCIHdwDK02sc4pIxdtRulpu3o1f40dFolTsRQoTaxZArX1AiEAsjs3kNPBkaa4QgUkTa9RkcBkYxaK2l7DgiRe57xqqWI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3756875},"main":"www/printer.js","gitHead":"901c8e918c4ec1db5d73284f8b2919d3e3b2bb1e","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"11.6.1","description":"Cordova Plugin for Printer Library","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_1.2.7_1763962679765_0.7704727317834277","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.2.8","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.2.8","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"810dab3e747615f6c61e4d0cbb7a5c61e1f41d7f","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.2.8.tgz","fileCount":20,"integrity":"sha512-dvWy18lG26FYMsw85kivtL0qdCcfqkjT0jdxl/OfvVVJ77IxymE1oUZoqzv8R7sOhNC8UYX2n6cXaR58upnuFg==","signatures":[{"sig":"MEYCIQCgmKaumxA9/GfpUjL4P0vDx9V4UQZnBPSpqzeuvzKxNAIhAKDFU8qRKt5JRRPKAHd+Xzp6RZxBf0NZegaWtTSZfwhW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3757955},"main":"www/printer.js","gitHead":"defc9d0389625991a8750620595c2df6a8b93ea3","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"11.6.1","description":"Cordova Plugin for Printer Library","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_1.2.8_1764062970660_0.7243551176357426","host":"s3://npm-registry-packages-npm-production"}},"1.2.9":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.2.9","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.2.9","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"712c917c69fea3d3efc52a9b12ee75e10067cb02","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.2.9.tgz","fileCount":20,"integrity":"sha512-SBP8tR7CR5VYowemNDmGkztFCtkEhcyPLaygtUMj9L53nNMH4aRIw6LyNLagjV5MzAoTUth/nTjulpJc+Jp8OA==","signatures":[{"sig":"MEUCIQCtZkS/CA/B9nJvlEt5GPjpjjLkGo4vZ5/pPFYkDqNAZwIgGmrlU6dyY781df+kSwqDGOVRuRdJmErzJkUzfKdQ6O4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3754658},"main":"www/printer.js","gitHead":"e2533385646c9aeb7ec13d4879acff5bdc0acbfd","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"11.6.1","description":"Cordova Plugin for Printer Library","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_1.2.9_1764065837286_0.6880997077692603","host":"s3://npm-registry-packages-npm-production"}},"1.2.10":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.2.10","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.2.10","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"6671ee1860855fbde22342bb8eee27bc18a760a3","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.2.10.tgz","fileCount":20,"integrity":"sha512-CemjkINXqawTWhfq4L+m16KZc+A+4vAq1vtbSghpxSoPwjje6YjkbmuHLJV5tLqS9O+9Zekngkd5XEPsYUMv0w==","signatures":[{"sig":"MEUCIQCXMefwEhZAVkATNCYSXfvQz5ACQ6nW2yaeBwcAsq7+hwIgRBEOJLiRRIAfJrDCqiDPPXNodfuim0DJwojq2Cv9V48=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3761170},"main":"www/printer.js","gitHead":"f84fc54f80ba2ca5fc5ea256e4684e8fea1780e4","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"11.6.1","description":"Cordova Plugin for Printer Library","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_1.2.10_1764737388150_0.5516912814648178","host":"s3://npm-registry-packages-npm-production"}},"1.2.11":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.2.11","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.2.11","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"7b4bda312be066db045ddaa4e849c410325b1bd6","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.2.11.tgz","fileCount":20,"integrity":"sha512-zirZNRcB58yQxhRPjfH3e8JpPM+MYoag0SqliyMbpQJ6SLWhIrPSKgGl3UBDjxr5OIK4FdZ9SmaUG8a9N95iMg==","signatures":[{"sig":"MEUCIBtCfFfQ7QgzMIaJqba5gTX1ok05yMHWj1SOr1MrryRwAiEA7Hdr1KuqENwoniTESavMk2X7Gj8ZimhVoEPo0Twz9/c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3764529},"main":"www/printer.js","gitHead":"869767184bf4ee29cac28fe89baf0ff8bc28abdf","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"11.6.1","description":"Cordova Plugin for Printer Library","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_1.2.11_1764742801371_0.5408306407423227","host":"s3://npm-registry-packages-npm-production"}},"1.2.12":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.2.12","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.2.12","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"135abc5c6cea84d02f9e40cbe61be6aa16a775f5","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.2.12.tgz","fileCount":20,"integrity":"sha512-cYP+4QgRLM1MH8IHLoH+SKM9ybeombUTqR2D2PHicogfNJTyMZAjxScc9qk2Flkk4OUkZ9DLeR6XUNAb1BPakA==","signatures":[{"sig":"MEQCIEQwR2X1g3aDxDC9rL/iuD4w70zdUWK13IFv8+dxMAxxAiAkSRNeseNMdmyyu4UZOGfBM6FbEdJa6p4croZLsYlamQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3767671},"main":"www/printer.js","gitHead":"869767184bf4ee29cac28fe89baf0ff8bc28abdf","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"11.6.1","description":"Cordova Plugin for Printer Library","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_1.2.12_1764761818660_0.343902034108599","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.3.0","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.3.0","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"dist":{"shasum":"6c39c33b9fb4eca3934d4efc673ef4d1174c8d32","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.3.0.tgz","fileCount":20,"integrity":"sha512-/slxd153FAd9CgjrpiSt5L/ZR24YLobWDtEu4QR5eWHQcmNH2PdIYLS+eMAaCSDjwRPjMqfLsp0hwL9nGOI4mg==","signatures":[{"sig":"MEQCIFB1PneU4Qqo6ygbdiPZhmChfPf7NdV7YkIyPem723/qAiAW1GGN6ARRkafdb2mQP+EyIGWnj+UCyT818+RxdhKsmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3798506},"main":"www/printer.js","gitHead":"f3b97fcbe23df07a7f1dd8e742d427e7e8aa6c01","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"_npmVersion":"11.11.0","description":"Cordova Plugin for Printer Library","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-thermal-printer_1.3.0_1773148320204_0.09997952467424165","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@achyutlabsau/cordova-plugin-thermal-printer","version":"1.4.0","description":"Cordova Plugin for Printer Library","main":"www/printer.js","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","gitHead":"f3b97fcbe23df07a7f1dd8e742d427e7e8aa6c01","_id":"@achyutlabsau/cordova-plugin-thermal-printer@1.4.0","_nodeVersion":"24.10.0","_npmVersion":"11.11.0","dist":{"integrity":"sha512-WCq/1rA9+Z5PvkxnMCA9fWB27c9qL2cqVkSnSR4XNVtRyUd/BIVSoPhXcNLQDy3LOKT6F2QSXa+c3/67QFe3QA==","shasum":"3947f95bc19c066d1a2a7af301289aa31eeefcc2","tarball":"https://registry.npmjs.org/@achyutlabsau/cordova-plugin-thermal-printer/-/cordova-plugin-thermal-printer-1.4.0.tgz","fileCount":20,"unpackedSize":3802011,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBZUIHmvkV7r5ZRpG5+q/65INKpK+WCAJ/NuLklbRgv/AiBOwKqgTRI7+BJk+UDMDuhiujZA2fcUhG1a+9txrT9YYA=="}]},"_npmUser":{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"},"directories":{},"maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cordova-plugin-thermal-printer_1.4.0_1779267319867_0.6225058642663139"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-10T19:39:05.689Z","modified":"2026-05-20T08:55:20.210Z","0.0.1":"2024-12-10T19:39:06.000Z","0.0.2":"2024-12-11T15:09:45.647Z","0.0.3":"2024-12-11T15:23:50.758Z","0.0.4":"2024-12-11T15:35:28.267Z","0.0.5":"2024-12-27T06:02:00.989Z","0.0.6":"2024-12-27T13:29:28.149Z","0.0.7":"2024-12-27T13:54:54.176Z","0.0.8":"2024-12-27T14:08:42.879Z","0.0.9":"2024-12-27T17:29:59.326Z","0.0.10":"2025-02-06T19:44:02.278Z","0.0.11":"2025-02-06T19:59:35.445Z","1.1.32":"2025-10-27T07:25:17.345Z","1.2.0":"2025-10-27T07:41:58.471Z","1.2.1":"2025-11-11T09:31:14.493Z","1.2.2":"2025-11-11T09:41:13.763Z","1.2.3":"2025-11-11T09:47:01.162Z","1.2.4":"2025-11-17T11:42:05.215Z","1.2.5":"2025-11-17T11:43:25.902Z","1.2.6":"2025-11-17T17:31:17.451Z","1.2.7":"2025-11-24T05:38:00.000Z","1.2.8":"2025-11-25T09:29:30.948Z","1.2.9":"2025-11-25T10:17:17.497Z","1.2.10":"2025-12-03T04:49:48.396Z","1.2.11":"2025-12-03T06:20:01.654Z","1.2.12":"2025-12-03T11:36:58.918Z","1.3.0":"2026-03-10T13:12:00.447Z","1.4.0":"2026-05-20T08:55:20.096Z"},"author":{"name":"Raghvendra Yadav","email":"raghav.yadav@achyutlabs.com"},"license":"MIT","keywords":["cordova","printer","android","ecosystem:cordova","cordova-android"],"description":"Cordova Plugin for Printer Library","maintainers":[{"name":"achyutlab","email":"achyutlabs@gmail.com"},{"name":"achyutlabs","email":"raghav.yadav@achyutlabs.com"}],"readme":"# Cordova Thermal Printer Plugin\r\n\r\nA modern Cordova plugin for ESC/POS thermal printers with automatic per-operation connection management and Promise-based API.\r\n\r\n## 📑 Table of Contents\r\n\r\n- [Features](#-features)\r\n- [Platform Support](#-platform-support)\r\n- [Requirements](#-requirements)\r\n- [Installation](#-installation)\r\n- [Quick Start](#-quick-start)\r\n- [API Reference](#-api-reference)\r\n  - [Printer Info Objects](#printer-info-objects)\r\n  - [Core Printing Methods](#core-printing-methods)\r\n  - [Paper Control](#paper-control)\r\n  - [Batch Operations](#batch-operations)\r\n  - [Device Discovery](#device-discovery)\r\n- [Error Handling](#-error-handling)\r\n- [Common Use Cases](#-common-use-cases)\r\n- [Example Application](#-example-application)\r\n- [Device Discovery Examples](#-device-discovery-examples)\r\n- [Best Practices](#-best-practices)\r\n- [Troubleshooting](#-troubleshooting)\r\n- [Architecture](#-architecture)\r\n- [FAQ](#-frequently-asked-questions)\r\n- [Contributing](#-contributing)\r\n- [License](#-license)\r\n\r\n## 🚀 Features\r\n\r\n- **Automatic Connection Management**: Each operation connects, executes, and disconnects automatically\r\n- **No Manual Connection Handling**: No need for connect/disconnect methods\r\n- **Promise-Based API**: Modern async/await syntax\r\n- **Multi-Connection Support**: USB, Bluetooth, and Network printers\r\n- **Cross-Platform**: Android and iOS support\r\n- **Rich Printing Options**: Text, images, barcodes, QR codes\r\n- **Batch Operations**: Print multiple items in sequence\r\n- **Device Discovery**: Find USB and Bluetooth printers (Android)\r\n\r\n## 📱 Platform Support\r\n\r\n| Platform | USB | Bluetooth | Network/WiFi | Serial |\r\n| -------- | --- | --------- | ------------ | ------ |\r\n| Android  | ✅  | ✅        | ✅           | ✅     |\r\n| iOS      | 🚧  | 🚧        | ✅           | ❌     |\r\n\r\n_🚧 = Planned/In Development_\r\n\r\n## 📋 Requirements\r\n\r\n- **Cordova**: 9.0.0 or higher\r\n- **Android**: API Level 21+ (Android 5.0+)\r\n- **iOS**: iOS 11.0+\r\n- **Printer**: ESC/POS compatible thermal printer\r\n\r\n### Supported Printers\r\n\r\nThis plugin works with ESC/POS compatible thermal printers from various manufacturers:\r\n\r\n- Epson TM series (TM-T20, TM-T88, etc.)\r\n- Star Micronics (TSP100, TSP650, etc.)\r\n- Citizen\r\n- Bixolon\r\n- Generic ESC/POS printers\r\n\r\n## 📦 Installation\r\n\r\n```bash\r\ncordova plugin add @achyutlabsau/cordova-plugin-thermal-printer\r\n```\r\n\r\n### Permissions\r\n\r\nThe plugin automatically requests necessary permissions:\r\n\r\n**Android:**\r\n\r\n- USB access (requested automatically when connecting to USB printer)\r\n- Bluetooth (for Bluetooth printers)\r\n- Location (required for Bluetooth discovery on Android)\r\n\r\n**iOS:**\r\n\r\n- Bluetooth usage description (configured in plugin.xml)\r\n- Local Network usage description (configured in plugin.xml)\r\n\r\n## 🎯 Quick Start\r\n\r\n```javascript\r\n// 1. Create printer info object\r\nconst printer = { type: 'network', id: '192.168.1.100' };\r\n\r\n// 2. Print anything - each operation connects and disconnects automatically\r\nawait cordova.plugins.printer.printText(printer, 'Hello World!\\n');\r\nawait cordova.plugins.printer.printQRCode(printer, 'https://example.com');\r\nawait cordova.plugins.printer.cutPaper(printer);\r\n\r\n// That's it! No need to manually connect or disconnect\r\n```\r\n\r\n## 📖 API Reference\r\n\r\n### Method Summary\r\n\r\n| Method                                                     | Description           | Platform     |\r\n| ---------------------------------------------------------- | --------------------- | ------------ |\r\n| `printText(printerInfo, text)`                             | Print plain text      | Android, iOS |\r\n| `printFormattedText(printerInfo, text, align, attr, size)` | Print formatted text  | Android, iOS |\r\n| `printBase64Image(printerInfo, base64, align, width)`      | Print base64 image    | Android, iOS |\r\n| `printBarcode(printerInfo, data, codeType)`                | Print barcode         | Android, iOS |\r\n| `printQRCode(printerInfo, data)`                           | Print QR code         | Android, iOS |\r\n| `feedLine(printerInfo, lines)`                             | Feed paper lines      | Android, iOS |\r\n| `cutPaper(printerInfo)`                                    | Cut paper             | Android, iOS |\r\n| `openCashBox(printerInfo)`                                 | Open cash drawer      | Android, iOS |\r\n| `printBatch(printerInfo, items)`                           | Print multiple items  | Android, iOS |\r\n| `getUsbDevices()`                                          | Get USB devices       | Android      |\r\n| `getBluetoothDevices()`                                    | Get Bluetooth devices | Android      |\r\n| `getPrintersAsync()`                                       | Get all devices       | Android      |\r\n\r\n### Printer Info Objects\r\n\r\nAll methods require a `printerInfo` object as the first parameter:\r\n\r\n```javascript\r\n// Network Printer (Android & iOS)\r\nconst printer = { type: 'network', id: '192.168.1.100' };\r\n\r\n// USB Printer (Android only)\r\nconst printer = { type: 'usb', id: '0416:5011' }; // VID:PID format\r\n// or\r\nconst printer = { type: 'usb', id: '/dev/usb/lp0' }; // Device path format\r\n\r\n// Bluetooth Printer (Android only)\r\nconst printer = { type: 'bluetooth', id: '12:34:56:78:9A:BC' }; // MAC address\r\n```\r\n\r\n### Core Printing Methods\r\n\r\nAll methods return Promises and handle connections automatically.\r\n\r\n#### Print Text\r\n\r\n```javascript\r\nawait cordova.plugins.printer.printText(printerInfo, 'Hello World!\\n');\r\n```\r\n\r\n#### Print Base64 Image\r\n\r\n```javascript\r\nawait cordova.plugins.printer.printBase64Image(\r\n  printerInfo,\r\n  base64ImageString,\r\n  1, //center=1, alignment\r\n  384 // width in pixels\r\n);\r\n```\r\n\r\n#### Print Barcode\r\n\r\n```javascript\r\n// codeType values: Refer to ESC/POS barcode type constants\r\n// Common values: 73 (Code128), 69 (EAN13), 70 (EAN8), 65 (UPC-A)\r\nawait cordova.plugins.printer.printBarcode(printerInfo, '1234567890123', 69); // EAN13\r\n```\r\n\r\n#### Print QR Code\r\n\r\n```javascript\r\nawait cordova.plugins.printer.printQRCode(printerInfo, 'https://example.com');\r\n```\r\n\r\n#### Print Formatted Text\r\n\r\n```javascript\r\n// Print text with custom formatting\r\n// alignment: 0 (left), 1 (center), 2 (right)\r\n// attribute: Text style flags (bold, underline, etc.)\r\n// textSize: Combined width and height multiplier\r\nawait cordova.plugins.printer.printFormattedText(\r\n  printerInfo,\r\n  'Bold Centered Text\\n',\r\n  1, // center alignment\r\n  0, // attribute flags\r\n  0 // text size\r\n);\r\n```\r\n\r\n### Paper Control\r\n\r\n```javascript\r\n// Feed paper lines\r\nawait cordova.plugins.printer.feedLine(printerInfo, 3);\r\n\r\n// Cut paper\r\nawait cordova.plugins.printer.cutPaper(printerInfo);\r\n\r\n// Open cash drawer\r\nawait cordova.plugins.printer.openCashBox(printerInfo);\r\n```\r\n\r\n### Batch Operations\r\n\r\nPrint multiple items in sequence with a single printer connection:\r\n\r\n```javascript\r\nawait cordova.plugins.printer.printBatch(printerInfo, [\r\n  { type: 'text', data: 'Receipt Header\\n' },\r\n  { type: 'formattedText', data: 'Bold Text\\n', alignment: 1, attribute: 0, textSize: 0 },\r\n  { type: 'text', data: '------------------------\\n' },\r\n  { type: 'qrcode', data: 'https://example.com' },\r\n  { type: 'barcode', data: '123456789', codeType: 73 },\r\n  { type: 'image', data: base64ImageString, alignment: 1, width: 384 },\r\n  { type: 'feed', lines: 3 },\r\n  { type: 'cut' },\r\n  { type: 'cashbox' }, // opens cash drawer\r\n]);\r\n```\r\n\r\n**Available Batch Item Types:**\r\n\r\n- `text` - Print plain text\r\n- `formattedText` - Print text with formatting\r\n- `qrcode` - Print QR code\r\n- `barcode` - Print barcode\r\n- `image` - Print base64 image\r\n- `feed` - Feed paper lines\r\n- `cut` - Cut paper\r\n- `cashbox` - Open cash drawer\r\n\r\n### Device Discovery\r\n\r\n#### Get USB Devices (Android only)\r\n\r\n```javascript\r\nconst usbDevices = await cordova.plugins.printer.getUsbDevices();\r\nconsole.log(usbDevices);\r\n/* Output:\r\n[\r\n  {\r\n    id: \"0416:5011\",              // VID:PID format - use this for printerInfo\r\n    devicePath: \"/dev/bus/usb/001/002\",\r\n    vendorId: 1046,\r\n    productId: 20497,\r\n    name: \"Thermal Printer\",\r\n    manufacturer: \"Epson\",        // may be undefined\r\n    type: \"usb\"\r\n  }\r\n]\r\n*/\r\n```\r\n\r\n#### Get Bluetooth Devices (Android only)\r\n\r\n```javascript\r\nconst btDevices = await cordova.plugins.printer.getBluetoothDevices();\r\nconsole.log(btDevices);\r\n/* Output:\r\n[\r\n  {\r\n    id: \"12:34:56:78:9A:BC\",      // MAC address - use this for printerInfo\r\n    name: \"Thermal Printer\",\r\n    address: \"12:34:56:78:9A:BC\",\r\n    deviceType: 2,                 // Bluetooth device type\r\n    type: \"bluetooth\"\r\n  }\r\n]\r\n*/\r\n```\r\n\r\n#### Get All Printers (Convenience Method)\r\n\r\n```javascript\r\n// Get both USB and Bluetooth devices in one call\r\nconst allPrinters = await cordova.plugins.printer.getPrintersAsync();\r\nconsole.log(allPrinters); // Combined array of USB and Bluetooth devices\r\n\r\n// Use returned devices directly\r\nallPrinters.forEach((printer) => {\r\n  // printer already has correct format: { type, id, name, ... }\r\n  console.log(`${printer.type}: ${printer.name} (${printer.id})`);\r\n});\r\n```\r\n\r\n## 🔧 Error Handling\r\n\r\n```javascript\r\ntry {\r\n  await cordova.plugins.printer.printText(printerInfo, 'Test');\r\n  console.log('Print successful!');\r\n} catch (error) {\r\n  console.error('Print failed:', error);\r\n\r\n  // Common error scenarios:\r\n  // - \"USB permission denied by user\"\r\n  // - \"Failed to connect to network printer\"\r\n  // - \"Bluetooth connection not implemented\"\r\n  // - \"Unsupported printer type: xyz\"\r\n}\r\n```\r\n\r\n## 💡 Common Use Cases\r\n\r\n### Receipt Printing\r\n\r\n```javascript\r\nconst printer = { type: 'network', id: '192.168.1.100' };\r\n\r\n// Print a complete receipt\r\nawait cordova.plugins.printer.printBatch(printer, [\r\n  { type: 'text', data: '        MY STORE\\n' },\r\n  { type: 'text', data: '    123 Main Street\\n' },\r\n  { type: 'text', data: '================================\\n' },\r\n  { type: 'text', data: 'Item 1          $10.00\\n' },\r\n  { type: 'text', data: 'Item 2          $15.00\\n' },\r\n  { type: 'text', data: '================================\\n' },\r\n  { type: 'text', data: 'TOTAL:          $25.00\\n' },\r\n  { type: 'qrcode', data: 'https://mystore.com/receipt/12345' },\r\n  { type: 'feed', lines: 3 },\r\n  { type: 'cut' },\r\n]);\r\n```\r\n\r\n### Label Printing\r\n\r\n```javascript\r\nconst printer = { type: 'usb', id: '0416:5011' };\r\n\r\n// Print a shipping label\r\nawait cordova.plugins.printer.printText(printer, 'SHIP TO:\\n');\r\nawait cordova.plugins.printer.printText(printer, 'John Doe\\n');\r\nawait cordova.plugins.printer.printText(printer, '123 Main St\\n');\r\nawait cordova.plugins.printer.printBarcode(printer, 'TRACK123456', 73);\r\nawait cordova.plugins.printer.cutPaper(printer);\r\n```\r\n\r\n### Kitchen Order Printing\r\n\r\n```javascript\r\nconst printer = { type: 'bluetooth', id: '12:34:56:78:9A:BC' };\r\n\r\n// Print kitchen order\r\nawait cordova.plugins.printer.printFormattedText(\r\n  printer,\r\n  'TABLE 5 - ORDER #123\\n',\r\n  1, // center\r\n  0,\r\n  0\r\n);\r\nawait cordova.plugins.printer.printText(printer, '2x Burger\\n');\r\nawait cordova.plugins.printer.printText(printer, '1x Fries\\n');\r\nawait cordova.plugins.printer.feedLine(printer, 5);\r\nawait cordova.plugins.printer.cutPaper(printer);\r\n```\r\n\r\n## 🧪 Example Application\r\n\r\nThis plugin includes a comprehensive example app that demonstrates all features:\r\n\r\n```bash\r\ncd example\r\nnpm install\r\ncordova platform add android\r\ncordova run android\r\n```\r\n\r\nThe example app (`example/www/js/printer-app.js`) provides:\r\n\r\n- Device discovery (USB/Bluetooth)\r\n- All print operations (text, images, barcodes, QR codes)\r\n- Paper control (feed, cut, cash drawer)\r\n- Error handling examples\r\n- Real-world usage patterns\r\n\r\n## 🔍 Device Discovery Examples\r\n\r\n### Finding and Connecting to USB Printers\r\n\r\n```javascript\r\n// Get available USB devices\r\nconst devices = await cordova.plugins.printer.getUsbDevices();\r\n\r\n// Display to user for selection\r\ndevices.forEach((device, index) => {\r\n  console.log(`${index}: ${device.name} (${device.id})`);\r\n});\r\n\r\n// Use selected device - the device object already has the correct format\r\nconst selectedDevice = devices[0];\r\nconst printer = { type: 'usb', id: selectedDevice.id };\r\n\r\n// Test connection - automatically connects and disconnects\r\nawait cordova.plugins.printer.printText(printer, 'Connection test\\n');\r\n```\r\n\r\n### Auto-Discovery Network Printers\r\n\r\n```javascript\r\n// Try common printer IP addresses\r\nconst commonIPs = ['192.168.1.100', '192.168.1.200', '192.168.0.100'];\r\n\r\nfor (const ip of commonIPs) {\r\n  try {\r\n    const printer = { type: 'network', id: ip };\r\n    await cordova.plugins.printer.printText(printer, 'Test\\n');\r\n    console.log(`Found printer at: ${ip}`);\r\n    break;\r\n  } catch (error) {\r\n    console.log(`No printer at: ${ip}`);\r\n  }\r\n}\r\n```\r\n\r\n## ✅ Best Practices\r\n\r\n### 1. Store Printer Info for Reuse\r\n\r\n```javascript\r\n// Store printer info after discovery\r\nconst selectedPrinter = { type: 'network', id: '192.168.1.100' };\r\nlocalStorage.setItem('printer', JSON.stringify(selectedPrinter));\r\n\r\n// Reuse in future sessions\r\nconst printer = JSON.parse(localStorage.getItem('printer'));\r\nawait cordova.plugins.printer.printText(printer, 'Hello!\\n');\r\n```\r\n\r\n### 2. Always Handle Errors\r\n\r\n```javascript\r\nasync function safePrint(printer, text) {\r\n  try {\r\n    await cordova.plugins.printer.printText(printer, text);\r\n    return { success: true };\r\n  } catch (error) {\r\n    console.error('Print failed:', error);\r\n    return { success: false, error: error.message };\r\n  }\r\n}\r\n```\r\n\r\n### 3. Test Connection Before Printing\r\n\r\n```javascript\r\nasync function testPrinterConnection(printer) {\r\n  try {\r\n    await cordova.plugins.printer.printText(printer, '');\r\n    return true;\r\n  } catch (error) {\r\n    return false;\r\n  }\r\n}\r\n```\r\n\r\n### 4. Use Batch Operations for Multiple Items\r\n\r\n```javascript\r\n// ✅ Good - Single connection, faster\r\nawait cordova.plugins.printer.printBatch(printer, [\r\n  { type: 'text', data: 'Line 1\\n' },\r\n  { type: 'text', data: 'Line 2\\n' },\r\n  { type: 'text', data: 'Line 3\\n' },\r\n]);\r\n\r\n// ❌ Avoid - Multiple connections, slower\r\nawait cordova.plugins.printer.printText(printer, 'Line 1\\n');\r\nawait cordova.plugins.printer.printText(printer, 'Line 2\\n');\r\nawait cordova.plugins.printer.printText(printer, 'Line 3\\n');\r\n```\r\n\r\n### 5. Network Printer Tips\r\n\r\n```javascript\r\n// Use static IP addresses for reliability\r\nconst printer = { type: 'network', id: '192.168.1.100' };\r\n\r\n// Ensure printer and device are on same network\r\n// Configure printer with fixed IP via printer settings\r\n// Test connectivity with ping before printing\r\n```\r\n\r\n## 🐛 Troubleshooting\r\n\r\n### Common Issues\r\n\r\n1. **USB Permission Denied (Android)**\r\n\r\n   ```javascript\r\n   // The plugin automatically requests USB permissions\r\n   // If denied by user, you'll get this error\r\n   try {\r\n     await cordova.plugins.printer.printText(usbPrinter, 'test');\r\n   } catch (error) {\r\n     if (error.includes('permission denied')) {\r\n       alert('Please grant USB permission and try again');\r\n     }\r\n   }\r\n   ```\r\n\r\n2. **Network Connection Timeout**\r\n\r\n   ```javascript\r\n   // Ensure printer IP is correct and printer is on same network\r\n   const printer = { type: 'network', id: '192.168.1.100' };\r\n\r\n   // Test with a simple ping first\r\n   try {\r\n     await cordova.plugins.printer.printText(printer, 'Network test\\n');\r\n   } catch (error) {\r\n     console.log('Check network connection and printer IP');\r\n   }\r\n   ```\r\n\r\n3. **iOS USB Not Supported**\r\n   ```javascript\r\n   // USB is not supported on iOS due to platform limitations\r\n   // Use network printers instead\r\n   if (cordova.platformId === 'ios') {\r\n     // Only use network printers on iOS\r\n     const printer = { type: 'network', id: '192.168.1.100' };\r\n   }\r\n   ```\r\n\r\n## 🏗️ Architecture\r\n\r\nThe plugin uses **automatic per-operation connection management**:\r\n\r\n- **No Persistent Connections**: Each operation connects, executes, and disconnects automatically\r\n- **No Manual Connection Management**: No connect/disconnect methods needed\r\n- **Promise-Based**: All methods return Promises for easy async/await usage\r\n- **Thread-Safe**: Each operation uses its own connection instance\r\n- **Error Propagation**: Detailed error messages for debugging\r\n- **Platform Abstraction**: Same API works across Android and iOS\r\n- **USB Auto-Permissions**: Automatically requests USB permissions when needed (Android)\r\n\r\n## ❓ Frequently Asked Questions\r\n\r\n### Q: Do I need to manually connect to the printer?\r\n\r\n**A:** No! The plugin automatically handles connections. Just call any print method with the printer info and it will connect, execute, and disconnect automatically.\r\n\r\n### Q: Can I keep a persistent connection to the printer?\r\n\r\n**A:** No, the plugin uses automatic per-operation connection management. Each operation opens and closes its own connection. For multiple operations, use `printBatch()` for better performance.\r\n\r\n### Q: Why does my app need location permission for Bluetooth?\r\n\r\n**A:** Android requires location permission for Bluetooth device discovery (not for printing, just for finding devices). This is an Android platform requirement, not a plugin limitation.\r\n\r\n### Q: How do I find my printer's IP address?\r\n\r\n**A:** Check your printer's settings menu, print a test page, or look at your router's connected devices list. Most thermal printers allow you to print a network configuration page.\r\n\r\n### Q: Can I print images?\r\n\r\n**A:** Yes! Use `printBase64Image()` with a base64-encoded image string. The plugin will convert it to printer-compatible format.\r\n\r\n### Q: Does this work with receipt printers?\r\n\r\n**A:** Yes! ESC/POS thermal printers are commonly used for receipts, and this plugin is designed specifically for them.\r\n\r\n### Q: How do I print special characters or non-English text?\r\n\r\n**A:** Most ESC/POS printers support UTF-8 encoding. Ensure your printer firmware supports the character set you need. Some older printers may have limited character support.\r\n\r\n### Q: Can I print to multiple printers simultaneously?\r\n\r\n**A:** Yes! Each print operation is independent. You can call methods for different printers in parallel:\r\n\r\n```javascript\r\nconst printer1 = { type: 'network', id: '192.168.1.100' };\r\nconst printer2 = { type: 'usb', id: '0416:5011' };\r\n\r\nawait Promise.all([\r\n  cordova.plugins.printer.printText(printer1, 'Receipt 1\\n'),\r\n  cordova.plugins.printer.printText(printer2, 'Receipt 2\\n'),\r\n]);\r\n```\r\n\r\n### Q: What's the difference between `type: 'network'` and `type: 'wifi'`?\r\n\r\n**A:** Use `'network'` - it covers both WiFi and Ethernet connections. Both terms work, but `'network'` is the recommended value.\r\n\r\n## 🤝 Contributing\r\n\r\nContributions are welcome! Please feel free to submit issues or pull requests.\r\n\r\n## 📄 License\r\n\r\nMIT License - see LICENSE file for details.\r\n\r\n**Made with ❤️ by Achyut Labs**\r\n","readmeFilename":"README.md"}