{"_id":"@arsema_tesfaye/validx","name":"@arsema_tesfaye/validx","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@arsema_tesfaye/validx","version":"1.0.0","description":"Simple & Secure Input Validation Toolkit","main":"dist/index.js","scripts":{"test":"vitest","build":"tsc","example":"ts-node examples/index.ts"},"keywords":["validation","input-validation","security","typescript","open-source","library"],"author":{"name":"Group 3"},"license":"MIT","devDependencies":{"@types/node":"^20.0.0","typescript":"^5.0.0","vitest":"^1.0.0"},"_id":"@arsema_tesfaye/validx@1.0.0","gitHead":"4e1bb7376ce94f620f0999a1d6259825c618bc04","types":"./dist/index.d.ts","_nodeVersion":"20.19.1","_npmVersion":"11.4.1","dist":{"integrity":"sha512-dSErslFttdedzSS/aNtdFQIttx5FKbsngjVG4nlhXZf/Fj1hkr4uL9lnKzx92N6fLf/Fy0ciFbyc+VHrCX8AfQ==","shasum":"597d1c6f3ab3011f022e8e1621fe679bd04ccbd1","tarball":"https://registry.npmjs.org/@arsema_tesfaye/validx/-/validx-1.0.0.tgz","fileCount":27,"unpackedSize":21311,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD6zs048Sybz+tDiL8oGKYg5v9vOwfQUvf8lFNyU4ULQgIhAOXUq7nWap9OnbzPsF26lJPsZgX7BE2C63ZCEjASsziP"}]},"_npmUser":{"name":"arsema_tesfaye","email":"arsematesfaye019@gmail.com"},"directories":{},"maintainers":[{"name":"arsema_tesfaye","email":"arsematesfaye019@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/validx_1.0.0_1766587786064_0.14650123339585153"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-24T14:49:45.994Z","1.0.0":"2025-12-24T14:49:46.223Z","modified":"2025-12-24T14:49:46.488Z"},"maintainers":[{"name":"arsema_tesfaye","email":"arsematesfaye019@gmail.com"}],"description":"Simple & Secure Input Validation Toolkit","keywords":["validation","input-validation","security","typescript","open-source","library"],"author":{"name":"Group 3"},"license":"MIT","readme":"# **ValidX — Simple & Secure Input Validation Toolkit**\r\n\r\n**Version:** v1.0.0  \r\n**License:** MIT  \r\n**Status:** Stable Initial Release\r\n\r\nValidX is a lightweight, modular, and developer-friendly **input validation library** built with **TypeScript**.  \r\nIt helps developers validate user input safely, consistently, and with clean, reusable functions.\r\n\r\n---\r\n\r\n## 🚀 Features\r\n\r\n- ✔ **String validation** (min/max length, text checks, etc.)  \r\n- ✔ **Security validation** (email, phone, strong password)  \r\n- ✔ **Number validation** (range, integer check, etc.)  \r\n- ✔ **Simple and intuitive API**  \r\n- ✔ **Zero external dependencies**  \r\n- ✔ **Fully written in TypeScript**  \r\n- ✔ **Unit-tested** with Jest  \r\n- ✔ **Lightweight and fast**  \r\n- ✔ **Supports ESM + CommonJS**  \r\n\r\n---\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install validx\r\n```\r\n\r\nOr for Yarn:\r\n\r\n```bash\r\nyarn add validx\r\n```\r\n\r\n---\r\n\r\n## Project Structure\r\n\r\n```\r\nvalidx/\r\n├── src/\r\n│   ├── validators/\r\n│   │   ├── string.ts\r\n│   │   ├── numbers.ts\r\n│   │   ├── security.ts\r\n│   ├── index.ts\r\n├── tests/\r\n│   ├── string.test.ts\r\n│   ├── number.test.ts\r\n│   └── security.test.ts\r\n├── examples/\r\n│       └── index.ts\r\n├── package.json\r\n└── README.md\r\n```\r\n\r\n---\r\n\r\n## Usage Examples\r\n\r\n### **String Validators**\r\n\r\n```ts\r\nimport { minLength, maxLength, isString } from \"validx\";\r\n\r\nminLength(\"Hello\", 3);   // true\r\nmaxLength(\"Hello\", 10);  // true\r\nisString(100);           // false\r\n```\r\n\r\n---\r\n\r\n### **Security Validators**\r\n\r\n```ts\r\nimport { isEmail, isPhone, isStrongPassword } from \"validx\";\r\n\r\nisEmail(\"test@gmail.com\");                // true\r\nisPhone(\"+251912345678\");                 // true\r\nisStrongPassword(\"Aa@12345\");             // true\r\n```\r\n\r\n---\r\n\r\n### **Number Validators**\r\n\r\n```ts\r\nimport { isNumber, inRange, isPositive } from \"validx\";\r\n\r\nisNumber(12);             // true\r\ninRange(5, 1, 10);        // true\r\nisPositive(-1);          // false\r\n```\r\n\r\n---\r\n\r\n## Example Project\r\n\r\nUse the sample inside:\r\n\r\n```\r\nexamples/basic-usage/index.ts\r\n```\r\n\r\nExample:\r\n\r\n```ts\r\nimport { isEmail, minLength } from \"validx\";\r\n\r\nconsole.log(isEmail(\"hello@example.com\"));\r\nconsole.log(minLength(\"World\", 3));\r\n```\r\n\r\nRun:\r\n\r\n```bash\r\nts-node examples/basic-usage/index.ts\r\n```\r\n\r\n---\r\n\r\n## Running Tests\r\n\r\n```bash\r\nnpm test\r\n```\r\n\r\nTests are written using **Jest**, covering:\r\n\r\n- Valid inputs  \r\n- Invalid inputs  \r\n- Edge cases  \r\n- Null/undefined  \r\n- Boundary values  \r\n\r\n---\r\n\r\n##  Roadmap\r\n\r\n- [ ] Add date validators  \r\n- [ ] Add URL validators  \r\n- [ ] Add schema-based object validator  \r\n- [ ] Add array validators  \r\n- [ ] Add async validators  \r\n- [ ] Add sanitizers (trim, escape, normalize)  \r\n\r\n---\r\n\r\n##  Contributing\r\n\r\nContributions are always welcome!\r\n\r\n1. Fork the repository  \r\n2. Create a feature branch  \r\n3. Commit your changes  \r\n4. Open a Pull Request  \r\n\r\n---\r\n\r\n## License\r\n\r\nMIT License — free to use, modify, and distribute.\r\n\r\n---\r\n\r\n## Author\r\n\r\n**Group 3**  \r\nAASTU — Software Engineering Students  \r\n","readmeFilename":"README.md","_rev":"1-b5cf90388e9328a95f4e117bcb3a7f63"}