Skip to content

Document charCodeAt edge case behavior in first line#63344

Open
bwalter007 wants to merge 1 commit intomicrosoft:mainfrom
bwalter007:docs/charcodeat-returns-tag
Open

Document charCodeAt edge case behavior in first line#63344
bwalter007 wants to merge 1 commit intomicrosoft:mainfrom
bwalter007:docs/charcodeat-returns-tag

Conversation

@bwalter007
Copy link
Copy Markdown

Similar to PR #60569 which improved indexOf documentation, this moves the NaN edge case behavior to the first line of the JSDoc for better visibility in IDE tooltips.

Before:

/**
 * Returns the Unicode value of the character at the specified location.
 * @param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned.
 */

After:

/**
 * Returns the Unicode value of the character at the specified location, or NaN if the index is out of bounds.
 * @param index The zero-based index of the desired character.
 */

The edge case was mentioned in the @param tag but not in the main description. Moving it to the first line makes it immediately visible when hovering over the method in editors, matching the pattern used for indexOf/lastIndexOf.


Note: I noticed there might be other methods in the lib files with similar patterns (edge cases mentioned only in @param tags rather than the first-line description). Would you like me to search for and fix those as well in a follow-up? Happy to expand this if it would be helpful, or keep it minimal if you prefer.

Moves NaN edge-case behavior to the first-line description following
the pattern established in PR microsoft#60569 for indexOf/lastIndexOf.
@github-project-automation github-project-automation bot moved this from Not started to Needs merge in PR Backlog Apr 2, 2026
@RyanCavanaugh
Copy link
Copy Markdown
Member

You need to run hereby runtests-parallel then hereby baseline-accept then commit that diff

@bwalter007
Copy link
Copy Markdown
Author

Hi @RyanCavanaugh,

I tried to run the baseline update as requested, but I'm running into test infrastructure errors:

Error: ENOENT: no such file or directory
at validate (src/harness/vpathUtil.ts:108:69)
at _FileSystem.mountSync (src/harness/vfsUtil.ts:332:24)

Steps I followed from CONTRIBUTING.md:

  1. npm ci - done
  2. npm install -g hereby - done
  3. hereby local - done - change built successfully
  4. hereby tests - done, test infrastructure built
  5. hereby runtests-parallel - failed - fails with ENOENT before generating baselines

The doc change itself compiled fine and shows up correctly in built/local/lib.es5.d.ts. Since this is just a documentation tweak, would you be able to run baseline-accept on your end? Or if there's something specific I need to configure in my local environment, I'd appreciate the pointer.

Thanks!

@jakebailey
Copy link
Copy Markdown
Member

Just do npm test, it'll do everything for you in the right order.

@bwalter007
Copy link
Copy Markdown
Author

Thanks for the help. Tried npm test but hit the same error:

Test worker encountered unexpected error and was forced to close:
Message: ENOENT: no such file or directory
Stack: Error: ENOENT: no such file or directory
at validate (/Users/.../src/harness/vpathUtil.ts:108:69)
at _FileSystem.mountSync (/Users/.../src/harness/vfsUtil.ts:332:24)

The test harness fails before running any tests - can't mount the virtual filesystem. Same result with hereby runtests-parallel.

Is there something I'm missing in the local setup? The change compiled fine to built/local/lib.es5.d.ts, just can't get the test suite to run

@RyanCavanaugh
Copy link
Copy Markdown
Member

I don't know what's going on; never heard of this happening before. Even after running git clean -xdf, npm ci + npm test is sufficient on my machine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Needs merge

Development

Successfully merging this pull request may close these issues.

3 participants