Refactor assertString: Faster, less nested and more consistent. - #2372

Merged
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master
Mar 28, 2025
Merged

Refactor assertString: Faster, less nested and more consistent.#2372
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master

Conversation

@EmersonRabelo

Copy link
Copy Markdown
Contributor

@profnandaa,
I have a possible improvement for the assertString.
I am reducing the number of necessary validations and also a more assertive approach, in my point of view (if this approach doesn't make sense, I would appreciate feedback on it, if possible).
The performance has also improved, it wasn't something incredible, but it was considerable.

image

Unit tests:
image

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the tests are failing because we currently do not throw an error for '' (an empty string).
Also; can you commit the unit tests as well?

@codecov

codecovBot commented Feb 9, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.95%. Comparing base (b958bd7) to head (f8e62de).
Report is 82 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #2372 +/- ##
==========================================
- Coverage 99.95% 99.95% -0.01% 
==========================================
Files 107 107 Lines 2454 2445 -9 Branches 619 617 -2 ==========================================
- Hits 2453 2444 -9 
Partials 1 1 

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@EmersonRabelo

EmersonRabelo commented Feb 9, 2024

Copy link
Copy Markdown
ContributorAuthor

Hi, @WikiRik!
I made a small change in the code and also committed the unit tests.
But it failed in one of the tests.

image

@WikiRik

Copy link
Copy Markdown
Member

codecov/project will be fixed with #2341

Comment threadtest/util.test.js Outdated
WikiRik
WikiRik previously approved these changes Feb 9, 2024

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me

rubiin
rubiin previously approved these changes Feb 9, 2024

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@pano9000

Copy link
Copy Markdown
Contributor

when you pass literally null, it gives

Uncaught TypeError: Cannot read properties of null (reading 'constructor')

because it is not caught by the first check.

Should we explicitly check for null there as well?

Comment threadsrc/lib/util/assertString.js Outdated
Comment threadtest/util.test.js Outdated
@EmersonRabelo

Copy link
Copy Markdown
ContributorAuthor

Hello, @pano9000!
Do you have any further comments on this or is everything okay?
If necessary, I will make the alterations!

@pano9000pano9000 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be ok now :-)
(however my approval is rather useless, as I am not a maintainer)

@EmersonRabelo
EmersonRabelo dismissed stale reviews from rubiin and WikiRik via f8e62deJune 1, 2024 14:35
@WikiRik
WikiRik requested a review from rubiinMarch 27, 2025 18:33
@rubiin
rubiin merged commit b610a88 into validatorjs:masterMar 28, 2025
@WikiRikWikiRik mentioned this pull request May 14, 2025
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@EmersonRabelo@WikiRik@pano9000@rubiin
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Refactor assertString: Faster, less nested and more consistent. - #2372

Merged
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master
Mar 28, 2025
Merged

Refactor assertString: Faster, less nested and more consistent.#2372
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master

Conversation

@EmersonRabelo

Copy link
Copy Markdown
Contributor

@profnandaa,
I have a possible improvement for the assertString.
I am reducing the number of necessary validations and also a more assertive approach, in my point of view (if this approach doesn't make sense, I would appreciate feedback on it, if possible).
The performance has also improved, it wasn't something incredible, but it was considerable.

image

Unit tests:
image

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the tests are failing because we currently do not throw an error for '' (an empty string).
Also; can you commit the unit tests as well?

@codecov

codecovBot commented Feb 9, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.95%. Comparing base (b958bd7) to head (f8e62de).
Report is 82 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #2372 +/- ##
==========================================
- Coverage 99.95% 99.95% -0.01% 
==========================================
Files 107 107 Lines 2454 2445 -9 Branches 619 617 -2 ==========================================
- Hits 2453 2444 -9 
Partials 1 1 

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@EmersonRabelo

EmersonRabelo commented Feb 9, 2024

Copy link
Copy Markdown
ContributorAuthor

Hi, @WikiRik!
I made a small change in the code and also committed the unit tests.
But it failed in one of the tests.

image

@WikiRik

Copy link
Copy Markdown
Member

codecov/project will be fixed with #2341

Comment threadtest/util.test.js Outdated
WikiRik
WikiRik previously approved these changes Feb 9, 2024

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me

rubiin
rubiin previously approved these changes Feb 9, 2024

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@pano9000

Copy link
Copy Markdown
Contributor

when you pass literally null, it gives

Uncaught TypeError: Cannot read properties of null (reading 'constructor')

because it is not caught by the first check.

Should we explicitly check for null there as well?

Comment threadsrc/lib/util/assertString.js Outdated
Comment threadtest/util.test.js Outdated
@EmersonRabelo

Copy link
Copy Markdown
ContributorAuthor

Hello, @pano9000!
Do you have any further comments on this or is everything okay?
If necessary, I will make the alterations!

@pano9000pano9000 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be ok now :-)
(however my approval is rather useless, as I am not a maintainer)

@EmersonRabelo
EmersonRabelo dismissed stale reviews from rubiin and WikiRik via f8e62deJune 1, 2024 14:35
@WikiRik
WikiRik requested a review from rubiinMarch 27, 2025 18:33
@rubiin
rubiin merged commit b610a88 into validatorjs:masterMar 28, 2025
@WikiRikWikiRik mentioned this pull request May 14, 2025
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@EmersonRabelo@WikiRik@pano9000@rubiin
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Refactor assertString: Faster, less nested and more consistent. - #2372

Merged
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master
Mar 28, 2025
Merged

Refactor assertString: Faster, less nested and more consistent.#2372
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master

Conversation

@EmersonRabelo

Copy link
Copy Markdown
Contributor

@profnandaa,
I have a possible improvement for the assertString.
I am reducing the number of necessary validations and also a more assertive approach, in my point of view (if this approach doesn't make sense, I would appreciate feedback on it, if possible).
The performance has also improved, it wasn't something incredible, but it was considerable.

image

Unit tests:
image

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the tests are failing because we currently do not throw an error for '' (an empty string).
Also; can you commit the unit tests as well?

@codecov

codecovBot commented Feb 9, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.95%. Comparing base (b958bd7) to head (f8e62de).
Report is 82 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #2372 +/- ##
==========================================
- Coverage 99.95% 99.95% -0.01% 
==========================================
Files 107 107 Lines 2454 2445 -9 Branches 619 617 -2 ==========================================
- Hits 2453 2444 -9 
Partials 1 1 

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@EmersonRabelo

EmersonRabelo commented Feb 9, 2024

Copy link
Copy Markdown
ContributorAuthor

Hi, @WikiRik!
I made a small change in the code and also committed the unit tests.
But it failed in one of the tests.

image

@WikiRik

Copy link
Copy Markdown
Member

codecov/project will be fixed with #2341

Comment threadtest/util.test.js Outdated
WikiRik
WikiRik previously approved these changes Feb 9, 2024

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me

rubiin
rubiin previously approved these changes Feb 9, 2024

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@pano9000

Copy link
Copy Markdown
Contributor

when you pass literally null, it gives

Uncaught TypeError: Cannot read properties of null (reading 'constructor')

because it is not caught by the first check.

Should we explicitly check for null there as well?

Comment threadsrc/lib/util/assertString.js Outdated
Comment threadtest/util.test.js Outdated
@EmersonRabelo

Copy link
Copy Markdown
ContributorAuthor

Hello, @pano9000!
Do you have any further comments on this or is everything okay?
If necessary, I will make the alterations!

@pano9000pano9000 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be ok now :-)
(however my approval is rather useless, as I am not a maintainer)

@EmersonRabelo
EmersonRabelo dismissed stale reviews from rubiin and WikiRik via f8e62deJune 1, 2024 14:35
@WikiRik
WikiRik requested a review from rubiinMarch 27, 2025 18:33
@rubiin
rubiin merged commit b610a88 into validatorjs:masterMar 28, 2025
@WikiRikWikiRik mentioned this pull request May 14, 2025
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@EmersonRabelo@WikiRik@pano9000@rubiin
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Refactor assertString: Faster, less nested and more consistent. - #2372

Merged
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master
Mar 28, 2025
Merged

Refactor assertString: Faster, less nested and more consistent.#2372
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master

Conversation

@EmersonRabelo

Copy link
Copy Markdown
Contributor

@profnandaa,
I have a possible improvement for the assertString.
I am reducing the number of necessary validations and also a more assertive approach, in my point of view (if this approach doesn't make sense, I would appreciate feedback on it, if possible).
The performance has also improved, it wasn't something incredible, but it was considerable.

image

Unit tests:
image

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the tests are failing because we currently do not throw an error for '' (an empty string).
Also; can you commit the unit tests as well?

@codecov

codecovBot commented Feb 9, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.95%. Comparing base (b958bd7) to head (f8e62de).
Report is 82 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #2372 +/- ##
==========================================
- Coverage 99.95% 99.95% -0.01% 
==========================================
Files 107 107 Lines 2454 2445 -9 Branches 619 617 -2 ==========================================
- Hits 2453 2444 -9 
Partials 1 1 

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@EmersonRabelo

EmersonRabelo commented Feb 9, 2024

Copy link
Copy Markdown
ContributorAuthor

Hi, @WikiRik!
I made a small change in the code and also committed the unit tests.
But it failed in one of the tests.

image

@WikiRik

Copy link
Copy Markdown
Member

codecov/project will be fixed with #2341

Comment threadtest/util.test.js Outdated
WikiRik
WikiRik previously approved these changes Feb 9, 2024

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me

rubiin
rubiin previously approved these changes Feb 9, 2024

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@pano9000

Copy link
Copy Markdown
Contributor

when you pass literally null, it gives

Uncaught TypeError: Cannot read properties of null (reading 'constructor')

because it is not caught by the first check.

Should we explicitly check for null there as well?

Comment threadsrc/lib/util/assertString.js Outdated
Comment threadtest/util.test.js Outdated
@EmersonRabelo

Copy link
Copy Markdown
ContributorAuthor

Hello, @pano9000!
Do you have any further comments on this or is everything okay?
If necessary, I will make the alterations!

@pano9000pano9000 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be ok now :-)
(however my approval is rather useless, as I am not a maintainer)

@EmersonRabelo
EmersonRabelo dismissed stale reviews from rubiin and WikiRik via f8e62deJune 1, 2024 14:35
@WikiRik
WikiRik requested a review from rubiinMarch 27, 2025 18:33
@rubiin
rubiin merged commit b610a88 into validatorjs:masterMar 28, 2025
@WikiRikWikiRik mentioned this pull request May 14, 2025
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@EmersonRabelo@WikiRik@pano9000@rubiin
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Refactor assertString: Faster, less nested and more consistent. - #2372

Merged
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master
Mar 28, 2025
Merged

Refactor assertString: Faster, less nested and more consistent.#2372
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master

Conversation

@EmersonRabelo

Copy link
Copy Markdown
Contributor

@profnandaa,
I have a possible improvement for the assertString.
I am reducing the number of necessary validations and also a more assertive approach, in my point of view (if this approach doesn't make sense, I would appreciate feedback on it, if possible).
The performance has also improved, it wasn't something incredible, but it was considerable.

image

Unit tests:
image

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the tests are failing because we currently do not throw an error for '' (an empty string).
Also; can you commit the unit tests as well?

@codecov

codecovBot commented Feb 9, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.95%. Comparing base (b958bd7) to head (f8e62de).
Report is 82 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #2372 +/- ##
==========================================
- Coverage 99.95% 99.95% -0.01% 
==========================================
Files 107 107 Lines 2454 2445 -9 Branches 619 617 -2 ==========================================
- Hits 2453 2444 -9 
Partials 1 1 

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@EmersonRabelo

EmersonRabelo commented Feb 9, 2024

Copy link
Copy Markdown
ContributorAuthor

Hi, @WikiRik!
I made a small change in the code and also committed the unit tests.
But it failed in one of the tests.

image

@WikiRik

Copy link
Copy Markdown
Member

codecov/project will be fixed with #2341

Comment threadtest/util.test.js Outdated
WikiRik
WikiRik previously approved these changes Feb 9, 2024

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me

rubiin
rubiin previously approved these changes Feb 9, 2024

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@pano9000

Copy link
Copy Markdown
Contributor

when you pass literally null, it gives

Uncaught TypeError: Cannot read properties of null (reading 'constructor')

because it is not caught by the first check.

Should we explicitly check for null there as well?

Comment threadsrc/lib/util/assertString.js Outdated
Comment threadtest/util.test.js Outdated
@EmersonRabelo

Copy link
Copy Markdown
ContributorAuthor

Hello, @pano9000!
Do you have any further comments on this or is everything okay?
If necessary, I will make the alterations!

@pano9000pano9000 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be ok now :-)
(however my approval is rather useless, as I am not a maintainer)

@EmersonRabelo
EmersonRabelo dismissed stale reviews from rubiin and WikiRik via f8e62deJune 1, 2024 14:35
@WikiRik
WikiRik requested a review from rubiinMarch 27, 2025 18:33
@rubiin
rubiin merged commit b610a88 into validatorjs:masterMar 28, 2025
@WikiRikWikiRik mentioned this pull request May 14, 2025
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@EmersonRabelo@WikiRik@pano9000@rubiin
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Refactor assertString: Faster, less nested and more consistent. - #2372

Merged
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master
Mar 28, 2025
Merged

Refactor assertString: Faster, less nested and more consistent.#2372
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master

Conversation

@EmersonRabelo

Copy link
Copy Markdown
Contributor

@profnandaa,
I have a possible improvement for the assertString.
I am reducing the number of necessary validations and also a more assertive approach, in my point of view (if this approach doesn't make sense, I would appreciate feedback on it, if possible).
The performance has also improved, it wasn't something incredible, but it was considerable.

image

Unit tests:
image

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the tests are failing because we currently do not throw an error for '' (an empty string).
Also; can you commit the unit tests as well?

@codecov

codecovBot commented Feb 9, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.95%. Comparing base (b958bd7) to head (f8e62de).
Report is 82 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #2372 +/- ##
==========================================
- Coverage 99.95% 99.95% -0.01% 
==========================================
Files 107 107 Lines 2454 2445 -9 Branches 619 617 -2 ==========================================
- Hits 2453 2444 -9 
Partials 1 1 

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@EmersonRabelo

EmersonRabelo commented Feb 9, 2024

Copy link
Copy Markdown
ContributorAuthor

Hi, @WikiRik!
I made a small change in the code and also committed the unit tests.
But it failed in one of the tests.

image

@WikiRik

Copy link
Copy Markdown
Member

codecov/project will be fixed with #2341

Comment threadtest/util.test.js Outdated
WikiRik
WikiRik previously approved these changes Feb 9, 2024

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me

rubiin
rubiin previously approved these changes Feb 9, 2024

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@pano9000

Copy link
Copy Markdown
Contributor

when you pass literally null, it gives

Uncaught TypeError: Cannot read properties of null (reading 'constructor')

because it is not caught by the first check.

Should we explicitly check for null there as well?

Comment threadsrc/lib/util/assertString.js Outdated
Comment threadtest/util.test.js Outdated
@EmersonRabelo

Copy link
Copy Markdown
ContributorAuthor

Hello, @pano9000!
Do you have any further comments on this or is everything okay?
If necessary, I will make the alterations!

@pano9000pano9000 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be ok now :-)
(however my approval is rather useless, as I am not a maintainer)

@EmersonRabelo
EmersonRabelo dismissed stale reviews from rubiin and WikiRik via f8e62deJune 1, 2024 14:35
@WikiRik
WikiRik requested a review from rubiinMarch 27, 2025 18:33
@rubiin
rubiin merged commit b610a88 into validatorjs:masterMar 28, 2025
@WikiRikWikiRik mentioned this pull request May 14, 2025
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@EmersonRabelo@WikiRik@pano9000@rubiin
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Refactor assertString: Faster, less nested and more consistent. - #2372

Merged
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master
Mar 28, 2025
Merged

Refactor assertString: Faster, less nested and more consistent.#2372
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master

Conversation

@EmersonRabelo

Copy link
Copy Markdown
Contributor

@profnandaa,
I have a possible improvement for the assertString.
I am reducing the number of necessary validations and also a more assertive approach, in my point of view (if this approach doesn't make sense, I would appreciate feedback on it, if possible).
The performance has also improved, it wasn't something incredible, but it was considerable.

image

Unit tests:
image

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the tests are failing because we currently do not throw an error for '' (an empty string).
Also; can you commit the unit tests as well?

@codecov

codecovBot commented Feb 9, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.95%. Comparing base (b958bd7) to head (f8e62de).
Report is 82 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #2372 +/- ##
==========================================
- Coverage 99.95% 99.95% -0.01% 
==========================================
Files 107 107 Lines 2454 2445 -9 Branches 619 617 -2 ==========================================
- Hits 2453 2444 -9 
Partials 1 1 

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@EmersonRabelo

EmersonRabelo commented Feb 9, 2024

Copy link
Copy Markdown
ContributorAuthor

Hi, @WikiRik!
I made a small change in the code and also committed the unit tests.
But it failed in one of the tests.

image

@WikiRik

Copy link
Copy Markdown
Member

codecov/project will be fixed with #2341

Comment threadtest/util.test.js Outdated
WikiRik
WikiRik previously approved these changes Feb 9, 2024

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me

rubiin
rubiin previously approved these changes Feb 9, 2024

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@pano9000

Copy link
Copy Markdown
Contributor

when you pass literally null, it gives

Uncaught TypeError: Cannot read properties of null (reading 'constructor')

because it is not caught by the first check.

Should we explicitly check for null there as well?

Comment threadsrc/lib/util/assertString.js Outdated
Comment threadtest/util.test.js Outdated
@EmersonRabelo

Copy link
Copy Markdown
ContributorAuthor

Hello, @pano9000!
Do you have any further comments on this or is everything okay?
If necessary, I will make the alterations!

@pano9000pano9000 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be ok now :-)
(however my approval is rather useless, as I am not a maintainer)

@EmersonRabelo
EmersonRabelo dismissed stale reviews from rubiin and WikiRik via f8e62deJune 1, 2024 14:35
@WikiRik
WikiRik requested a review from rubiinMarch 27, 2025 18:33
@rubiin
rubiin merged commit b610a88 into validatorjs:masterMar 28, 2025
@WikiRikWikiRik mentioned this pull request May 14, 2025
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@EmersonRabelo@WikiRik@pano9000@rubiin
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Refactor assertString: Faster, less nested and more consistent. - #2372

Merged
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master
Mar 28, 2025
Merged

Refactor assertString: Faster, less nested and more consistent.#2372
rubiin merged 5 commits into
validatorjs:masterfrom
EmersonRabelo:master

Conversation

@EmersonRabelo

Copy link
Copy Markdown
Contributor

@profnandaa,
I have a possible improvement for the assertString.
I am reducing the number of necessary validations and also a more assertive approach, in my point of view (if this approach doesn't make sense, I would appreciate feedback on it, if possible).
The performance has also improved, it wasn't something incredible, but it was considerable.

image

Unit tests:
image

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the tests are failing because we currently do not throw an error for '' (an empty string).
Also; can you commit the unit tests as well?

@codecov

codecovBot commented Feb 9, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.95%. Comparing base (b958bd7) to head (f8e62de).
Report is 82 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@## master #2372 +/- ##
==========================================
- Coverage 99.95% 99.95% -0.01% 
==========================================
Files 107 107 Lines 2454 2445 -9 Branches 619 617 -2 ==========================================
- Hits 2453 2444 -9 
Partials 1 1 

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@EmersonRabelo

EmersonRabelo commented Feb 9, 2024

Copy link
Copy Markdown
ContributorAuthor

Hi, @WikiRik!
I made a small change in the code and also committed the unit tests.
But it failed in one of the tests.

image

@WikiRik

Copy link
Copy Markdown
Member

codecov/project will be fixed with #2341

Comment threadtest/util.test.js Outdated
WikiRik
WikiRik previously approved these changes Feb 9, 2024

@WikiRikWikiRik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me

rubiin
rubiin previously approved these changes Feb 9, 2024

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@pano9000

Copy link
Copy Markdown
Contributor

when you pass literally null, it gives

Uncaught TypeError: Cannot read properties of null (reading 'constructor')

because it is not caught by the first check.

Should we explicitly check for null there as well?

Comment threadsrc/lib/util/assertString.js Outdated
Comment threadtest/util.test.js Outdated
@EmersonRabelo

Copy link
Copy Markdown
ContributorAuthor

Hello, @pano9000!
Do you have any further comments on this or is everything okay?
If necessary, I will make the alterations!

@pano9000pano9000 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be ok now :-)
(however my approval is rather useless, as I am not a maintainer)

@EmersonRabelo
EmersonRabelo dismissed stale reviews from rubiin and WikiRik via f8e62deJune 1, 2024 14:35
@WikiRik
WikiRik requested a review from rubiinMarch 27, 2025 18:33
@rubiin
rubiin merged commit b610a88 into validatorjs:masterMar 28, 2025
@WikiRikWikiRik mentioned this pull request May 14, 2025
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
superfortune-passion pushed a commit to superfortune-passion/validator.js that referenced this pull request May 31, 2026
…datorjs#2372)
* refactor: Refactor assertString
* refactor: Refactor assertString with unit tests
* add: Empty string unit test
* add: Null input value and more tests
* fix: Sentence correction
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@EmersonRabelo@WikiRik@pano9000@rubiin