{"_id":"@danushka96/expo-r330-printer","_rev":"5-61d840ac3b5d4f2fd7ad7589961ba9d9","name":"@danushka96/expo-r330-printer","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.0":{"name":"@danushka96/expo-r330-printer","version":"0.1.0","keywords":["react-native","expo","expo-r330-printer","ExpoR330Printer"],"author":{"url":"Danushka96","name":"danushka96","email":"danushkaherath96@gmail.com"},"license":"MIT","_id":"@danushka96/expo-r330-printer@0.1.0","maintainers":[{"name":"danushka96","email":"danushkaherath96@gmail.com"}],"homepage":"https://github.com/Klass-lk/expo-r330-printer#README","bugs":{"url":"https://github.com/Klass-lk/expo-r330-printer/issues"},"dist":{"shasum":"d453621df3ce15e3067b8cd37391002070d45c8c","tarball":"https://registry.npmjs.org/@danushka96/expo-r330-printer/-/expo-r330-printer-0.1.0.tgz","fileCount":28,"integrity":"sha512-Vag2CcMlBfqTgVx6eyekY49miCqXW3isr6ZYYGGXl5SF8kkANQdM+6EQP9CbG2mQmH1pGqdaA8nQnp+/NyZp5A==","signatures":[{"sig":"MEUCIEFy/hto2UzQ3TCrOtPigUtvdqg9QZq4Rx4PF+mmjmaOAiEA30qhLnk4wNJaQLyQlBCYVt8dnAzVa8EHlhGy7KN68KU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26403},"main":"build/index.js","types":"build/index.d.ts","gitHead":"a08fb9de95a73701728fc72f26fe1053279bb131","scripts":{"lint":"expo-module lint","test":"expo-module test","build":"expo-module build","clean":"expo-module clean","prepare":"expo-module prepare","open:ios":"xed example/ios","expo-module":"expo-module","open:android":"open -a \"Android Studio\" example/android","prepublishOnly":"expo-module prepublishOnly"},"_npmUser":{"name":"danushka96","email":"danushkaherath96@gmail.com"},"repository":{"url":"git+https://github.com/Klass-lk/expo-r330-printer.git","type":"git"},"_npmVersion":"10.9.0","description":"R330 Printer Module","directories":{},"_nodeVersion":"22.12.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"expo":"^54.0.18","@types/react":"~19.1.0","react-native":"0.81.5","expo-module-scripts":"^5.0.7"},"peerDependencies":{"expo":"*","react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/expo-r330-printer_0.1.0_1762030220919_0.20391540828734067","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@danushka96/expo-r330-printer","version":"0.1.1","keywords":["react-native","expo","expo-r330-printer","ExpoR330Printer"],"author":{"url":"Danushka96","name":"danushka96","email":"danushkaherath96@gmail.com"},"license":"MIT","_id":"@danushka96/expo-r330-printer@0.1.1","maintainers":[{"name":"danushka96","email":"danushkaherath96@gmail.com"}],"homepage":"https://github.com/Klass-lk/expo-r330-printer#README","bugs":{"url":"https://github.com/Klass-lk/expo-r330-printer/issues"},"dist":{"shasum":"0af256ede4670b52360959129bde09567220457b","tarball":"https://registry.npmjs.org/@danushka96/expo-r330-printer/-/expo-r330-printer-0.1.1.tgz","fileCount":27,"integrity":"sha512-EPgFaiBuT57LNr6lbVyclSjkfIxuFEM/k9WH6fX+J5SZFSDeUp4MT3etZv+VX8Sp9y2vaoN+cC6ajH1UT6IjoA==","signatures":[{"sig":"MEYCIQCaCo4MEI/CnjpOzqRAQEx+CLGYVoCeNq0Z3OAMf8hQVwIhAL7pQsPeGn6a8H2jI/7Cwd985gWFL2ly2Vq9+oslpvvR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26049},"main":"build/index.js","types":"build/index.d.ts","gitHead":"a490ca87493be5b5bf0bc9d0b30d0dc4760cb03d","scripts":{"lint":"expo-module lint","test":"expo-module test","build":"expo-module build","clean":"expo-module clean","prepare":"expo-module prepare","open:ios":"xed example/ios","expo-module":"expo-module","open:android":"open -a \"Android Studio\" example/android","prepublishOnly":"expo-module prepublishOnly"},"_npmUser":{"name":"danushka96","email":"danushkaherath96@gmail.com"},"repository":{"url":"git+https://github.com/Klass-lk/expo-r330-printer.git","type":"git"},"_npmVersion":"10.8.2","description":"R330 Printer Module","directories":{},"_nodeVersion":"20.19.5","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"expo":"^54.0.18","@types/react":"~19.1.0","react-native":"0.81.5","expo-module-scripts":"^5.0.7"},"peerDependencies":{"expo":"*","react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/expo-r330-printer_0.1.1_1762031562394_0.6432997550342476","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@danushka96/expo-r330-printer","version":"0.2.0","keywords":["react-native","expo","expo-r330-printer","ExpoR330Printer"],"author":{"url":"Danushka96","name":"danushka96","email":"danushkaherath96@gmail.com"},"license":"MIT","_id":"@danushka96/expo-r330-printer@0.2.0","maintainers":[{"name":"danushka96","email":"danushkaherath96@gmail.com"}],"homepage":"https://github.com/Klass-lk/expo-r330-printer#README","bugs":{"url":"https://github.com/Klass-lk/expo-r330-printer/issues"},"dist":{"shasum":"75b3ad0fb49aa2e79d0655140f6dc46568246828","tarball":"https://registry.npmjs.org/@danushka96/expo-r330-printer/-/expo-r330-printer-0.2.0.tgz","fileCount":27,"integrity":"sha512-sHXrUV+7I9iGDvuCRQ/w3ex8/7a6xG8cKuN++gl9SPEm/PLPmPOx5E1audu+u5SxUkP8BEJHCvc+56XstqCVMA==","signatures":[{"sig":"MEUCIBgjgi5eQthowOvKJ3NtuLbKFaXDDCT0mLoWVWjfVpCSAiEAzjaiqJgt14nua2vTqVmXEIOGRUa4aGjt/MqCNEPdLzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54082},"main":"build/index.js","types":"build/index.d.ts","gitHead":"3f4a365f9e970ec92d23cd5961ebadfbe27f6417","scripts":{"lint":"expo-module lint","test":"expo-module test","build":"expo-module build","clean":"expo-module clean","prepare":"expo-module prepare","open:ios":"xed example/ios","expo-module":"expo-module","open:android":"open -a \"Android Studio\" example/android","prepublishOnly":"expo-module prepublishOnly"},"_npmUser":{"name":"danushka96","email":"danushkaherath96@gmail.com"},"repository":{"url":"git+https://github.com/Klass-lk/expo-r330-printer.git","type":"git"},"_npmVersion":"10.8.2","description":"R330 Printer Module","directories":{},"_nodeVersion":"20.19.5","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"expo":"^54.0.18","@types/react":"~19.1.0","react-native":"0.81.5","expo-module-scripts":"^5.0.7"},"peerDependencies":{"expo":"*","react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/expo-r330-printer_0.2.0_1762061664746_0.07092764292827058","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@danushka96/expo-r330-printer","version":"0.2.1","keywords":["react-native","expo","expo-r330-printer","ExpoR330Printer"],"author":{"url":"Danushka96","name":"danushka96","email":"danushkaherath96@gmail.com"},"license":"MIT","_id":"@danushka96/expo-r330-printer@0.2.1","maintainers":[{"name":"danushka96","email":"danushkaherath96@gmail.com"}],"homepage":"https://github.com/Klass-lk/expo-r330-printer#README","bugs":{"url":"https://github.com/Klass-lk/expo-r330-printer/issues"},"dist":{"shasum":"fb1faf43be1b8673f0b80c1297ee9ec3ed27f5ec","tarball":"https://registry.npmjs.org/@danushka96/expo-r330-printer/-/expo-r330-printer-0.2.1.tgz","fileCount":27,"integrity":"sha512-sIM19uGG/dd306JwZ9lkhbqOtrbiAsrIb8H5F/hY2fWbZXthzIX2XdwAElaF/vaSNwWVPJROkD/WkHYBtdeJXw==","signatures":[{"sig":"MEQCIB+DNT1v7l67mIJ0JkQnBnEqRIejomU5Q6t+hx/YpDm3AiAZYkIWK/h6YJ5RXPnvfylO8j+A6vGdnDnbEsypbcLs2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53767},"main":"build/index.js","types":"build/index.d.ts","gitHead":"2468c100bfcb6ba14ccf201f365a63d287128c14","scripts":{"lint":"expo-module lint","test":"expo-module test","build":"expo-module build","clean":"expo-module clean","prepare":"expo-module prepare","open:ios":"xed example/ios","expo-module":"expo-module","open:android":"open -a \"Android Studio\" example/android","prepublishOnly":"expo-module prepublishOnly"},"_npmUser":{"name":"danushka96","email":"danushkaherath96@gmail.com"},"repository":{"url":"git+https://github.com/Klass-lk/expo-r330-printer.git","type":"git"},"_npmVersion":"10.8.2","description":"R330 Printer Module","directories":{},"_nodeVersion":"20.19.5","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"expo":"^54.0.18","@types/react":"~19.1.0","react-native":"0.81.5","expo-module-scripts":"^5.0.7"},"peerDependencies":{"expo":"*","react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/expo-r330-printer_0.2.1_1762062300708_0.4828230142270058","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@danushka96/expo-r330-printer","version":"0.2.2","description":"R330 Printer Module","main":"build/index.js","types":"build/index.d.ts","scripts":{"build":"expo-module build","clean":"expo-module clean","lint":"expo-module lint","test":"expo-module test","prepare":"expo-module prepare","prepublishOnly":"expo-module prepublishOnly","expo-module":"expo-module","open:ios":"xed example/ios","open:android":"open -a \"Android Studio\" example/android"},"keywords":["react-native","expo","expo-r330-printer","ExpoR330Printer"],"repository":{"type":"git","url":"git+https://github.com/Klass-lk/expo-r330-printer.git"},"bugs":{"url":"https://github.com/Klass-lk/expo-r330-printer/issues"},"author":{"name":"danushka96","email":"danushkaherath96@gmail.com","url":"Danushka96"},"license":"MIT","homepage":"https://github.com/Klass-lk/expo-r330-printer#README","dependencies":{},"devDependencies":{"@types/react":"~19.1.0","expo-module-scripts":"^5.0.7","expo":"^54.0.18","react-native":"0.81.5"},"peerDependencies":{"expo":"*","react":"*","react-native":"*"},"_id":"@danushka96/expo-r330-printer@0.2.2","gitHead":"3cc10b8c57f12388c1eeb8a8daa31a2966006767","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-V3+/mPpfh9/5Nh0aUmY+QUudSDvL5En7FUPRpBYebZ6AjmUfccPrpZTdEhGBe2iCEqnAjuJw+uKhmUZYYkDh4Q==","shasum":"79075549dc7f39c46bf92d69d081e19811c6db97","tarball":"https://registry.npmjs.org/@danushka96/expo-r330-printer/-/expo-r330-printer-0.2.2.tgz","fileCount":25,"unpackedSize":52342,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCZt9iaiNSJ9qyZbzwGEtptmZmHLrxOuv9ACpQo1Q4JuwIhALV5kuUymbJshmt27WMWnk0e0/dUiszn/RiGH0ZSxUTw"}]},"_npmUser":{"name":"danushka96","email":"danushkaherath96@gmail.com"},"directories":{},"maintainers":[{"name":"danushka96","email":"danushkaherath96@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/expo-r330-printer_0.2.2_1762074396209_0.18000198208338136"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-01T20:50:20.833Z","modified":"2025-11-02T09:06:36.607Z","0.1.0":"2025-11-01T20:50:21.117Z","0.1.1":"2025-11-01T21:12:42.589Z","0.2.0":"2025-11-02T05:34:24.959Z","0.2.1":"2025-11-02T05:45:00.884Z","0.2.2":"2025-11-02T09:06:36.404Z"},"bugs":{"url":"https://github.com/Klass-lk/expo-r330-printer/issues"},"author":{"name":"danushka96","email":"danushkaherath96@gmail.com","url":"Danushka96"},"license":"MIT","homepage":"https://github.com/Klass-lk/expo-r330-printer#README","keywords":["react-native","expo","expo-r330-printer","ExpoR330Printer"],"repository":{"type":"git","url":"git+https://github.com/Klass-lk/expo-r330-printer.git"},"description":"R330 Printer Module","maintainers":[{"name":"danushka96","email":"danushkaherath96@gmail.com"}],"readme":"# expo-r330-printer\n\nExpo module (React Native / Expo) wrapper for vendor R330 series receipt printer service (Android).  \nThis repo contains the native Android module and a small Expo example app used for testing.\n\n> ⚠️ This module relies on a vendor Android service that exposes an AIDL interface:\n> `recieptservice.com.recieptservice.PrinterInterface`. Make sure that service is available on target devices.\n\n---\n\n## Quick install (consumer project)\n\nFrom a consuming project (React Native / Expo with autolinking enabled):\n\n```bash\n# If published to npm (replace with actual package name)\nnpm install expo-r330-printer\n# or\nyarn add expo-r330-printer\n```\n\nThen rebuild native app:\n\n```bash\n# For bare React Native\nnpx react-native run-android\n\n# For Expo (dev client)\nnpx expo run:android\n```\nIf you are using the managed Expo client (not a dev client), native modules won't work — you must use a custom dev client or bare workflow.\n\n## Usage (JS / TS)\n\nThis module exposes a simple API. Example usage in React:\n\n```typescript\nimport ExpoR330Printer from \"expo-r330-printer\";\n\nasync function test() {\n  try {\n    // Bind to the vendor printer service\n    await ExpoR330Printer.bind();\n\n    // Print text\n    await ExpoR330Printer.printText(\"Hello from Expo!\\n\");\n\n    // Print a base64 PNG image (data URI or raw base64)\n    await ExpoR330Printer.printBitmapBase64(\"data:image/png;base64,...\");\n\n    // Print raw Epson bytes (send as base64)\n    await ExpoR330Printer.printEpsonBase64(\"<base64-data>\");\n\n    // Print barcode / QR\n    await ExpoR330Printer.printBarCode(\"123456\", 6, 162, 2);\n    await ExpoR330Printer.printQRCode(\"https://example.com\", 4, 3);\n\n    // Text formatting\n    await ExpoR330Printer.setAlignment(1); // 0 left,1 center,2 right\n    await ExpoR330Printer.setTextSize(24); // number\n    await ExpoR330Printer.setTextBold(true);\n    await ExpoR330Printer.nextLine(1);\n\n    // Table printing\n    await ExpoR330Printer.printTableText([\"Item\",\"Qty\",\"Price\"], [1,1,1], [1,1,1]);\n\n    // Unbind\n    await ExpoR330Printer.unbind();\n  } catch (e) {\n    console.error(\"Printer error\", e);\n  }\n}\n\n```\n\n","readmeFilename":"README.md"}