@schie/epc
v0.1.0
Published
EPC (Electronic Product Code) generator and parser for UHF RFID tags in TypeScript.
Maintainers
Readme
@schie/epc
A modern, type-safe TypeScript library for generating and parsing EPC (Electronic Product Code) identifiers used in UHF RFID tags.
⚠️ Early Development Notice
This library is under active early development. Until v1.0.0 is released, consider all releases potentially breaking. The API may change significantly between versions as we refine the design based on user feedback and real-world usage patterns.
✨ Features
- 🧩 EPC Generation - Create EPCs from GS1 components
- 🔍 Parsing - Decode EPC hex into structured data
- 🛡️ Type Safe - Full TypeScript support with comprehensive types
- 📦 Zero Dependencies - Lightweight and fast
- 🧪 Ready for Testing - Built for easy unit test coverage
🚀 Quick Start
Installation
npm install @schie/epcBasic Usage
import { encodeSgtin96, parseEpc } from '@schie/epc';
const epc = encodeSgtin96({
companyPrefix: '0614141',
itemReference: '812345',
serial: 6789,
filter: 3,
});
console.log(epc.hex);
console.log(epc.uri);
const parsed = parseEpc(epc.hex);
console.log(parsed.scheme); // sgtin-96📦 Package Information
- ES Modules: Full ESM support with tree shaking
- CommonJS: CJS builds included for compatibility
- TypeScript: Complete type definitions included
- Node.js: Requires Node.js 20+
🧾 Supported Schemes
- SGTIN-96
- GID-96
🤝 Contributing
Contributions are welcome! This project uses:
- TypeScript for type safety
- Jest for testing
- ESLint + Prettier for code quality
- Commitizen for conventional commits
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run build
# Lint
npm run lint📄 License
MIT License - see LICENSE file for details.
🔗 Links
Made with ❤️ by @schie
