diff --git a/CHANGELOG.md b/CHANGELOG.md index 71adce7..24eb4af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Nothing yet. +## [1.0.2] - 2025-04-28 + +### Fixed + +- `url` now accepts boolean arguments. + ## [1.0.1] - 2025-04-28 ### Fixed @@ -21,6 +27,7 @@ Nothing yet. - Implemented Validator, message formatting and validation rules. -[unreleased]: https://github.com/Logitar/js/compare/v1.0.1...HEAD +[unreleased]: https://github.com/Logitar/js/compare/v1.0.2...HEAD +[1.0.2]: https://github.com/Logitar/js/compare/v1.0.1...v1.0.2 [1.0.1]: https://github.com/Logitar/js/compare/v1.0.0...v1.0.1 [1.0.0]: https://github.com/Logitar/js/releases/tag/v1.0.0 diff --git a/package-lock.json b/package-lock.json index 3d52bc5..c19544b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "logitar-validation", - "version": "1.0.1", + "version": "1.0.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "logitar-validation", - "version": "1.0.1", + "version": "1.0.2", "license": "MIT", "dependencies": { "logitar-js": "^1.0.1" diff --git a/package.json b/package.json index d7591a3..32e4953 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "logitar-validation", - "version": "1.0.1", + "version": "1.0.2", "description": "JavaScript validation library distributed by Logitar.", "keywords": [ "logitar", diff --git a/src/rules/__tests__/url.spec.ts b/src/rules/__tests__/url.spec.ts index 60ca4c6..f90c3c0 100644 --- a/src/rules/__tests__/url.spec.ts +++ b/src/rules/__tests__/url.spec.ts @@ -32,7 +32,9 @@ describe("url", () => { test.each([ ["", undefined], + ["", false], ["http://example.com", undefined], + ["http://example.com", true], ["http://example.com", "http,https"], ["http://example.com", "http;https"], ["https://example.com", "http|https"], diff --git a/src/rules/url.ts b/src/rules/url.ts index b2e983a..ea9dc1e 100644 --- a/src/rules/url.ts +++ b/src/rules/url.ts @@ -27,7 +27,7 @@ const url: ValidationRule = (value: unknown, args: unknown): RuleExecutionOutcom if (value.length > 0) { let isArgsValid: boolean = true; const protocols: Set = new Set(["http", "https"]); - if (typeof args !== "undefined") { + if (typeof args !== "undefined" && typeof args !== "boolean") { let values: string[] = []; if (typeof args === "string") { values = args.split(/[,;\|]/); @@ -37,6 +37,7 @@ const url: ValidationRule = (value: unknown, args: unknown): RuleExecutionOutcom if (values.length === 0) { isArgsValid = false; } else { + protocols.clear(); values.forEach((value) => protocols.add(format(value))); } }