Skip to content

[codex] rename overloaded constructors to from* names#255

Draft
jderochervlk wants to merge 22 commits intomainfrom
codex/issue-236-constructor-from-names-carryover
Draft

[codex] rename overloaded constructors to from* names#255
jderochervlk wants to merge 22 commits intomainfrom
codex/issue-236-constructor-from-names-carryover

Conversation

@jderochervlk
Copy link
Copy Markdown
Collaborator

Summary

  • rename overloaded constructors to from* source-type names
  • keep true default constructors as make()
  • add compile-coverage tests for the renamed constructors
  • localize the sharedArrayBuffer alias in VideoFrame

Validation

  • npm run build
  • ASTRO_TELEMETRY_DISABLED=1 npm run build:docs

Notes

  • npm run format:check still reports pre-existing failures on carryover/post-249-pre-alpha

  • fix: rename overloaded constructors to from names*

  • style: format Path2D on carryover branch

  • refactor: localize VideoFrame shared array buffer alias

tsnobip and others added 19 commits April 17, 2026 17:49
Port the surviving API cleanup from the final pre-alpha branch onto the monorepo split introduced in #249.

This adds the missing concrete modules, translates the fetch/runtime/canvas/websocket/media surface cleanup into the package layout, and keeps the branch green with updated tests.
Drop scroll2/scrollTo2/scrollBy2 and keep the descriptive *XY overload names requested in review.

Co-authored-by: Codex <codex@openai.com>
…with-commits-and-responses

Address review feedback: rename constructors, unbox FormDataEntryValue, reuse MessageEvent types, simplify tests
@jderochervlk jderochervlk changed the base branch from carryover/post-249-pre-alpha to main April 19, 2026 14:10
Comment on lines +89 to +91

@new
external fromString: (~init: string) => domMatrix = "DOMMatrix"
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

If it's just a single type, it should never have the ~init and just take the direct argument.

Suggested change
@new
external fromString: (~init: string) => domMatrix = "DOMMatrix"
@new
external fromString: (init: string) => domMatrix = "DOMMatrix"

Update DOMMatrix, DOMMatrixReadOnly, Path2D, and ReadableStream single-source constructor overloads to take direct unlabeled arguments.

Refresh compile-coverage tests and contributor documentation to match the constructor naming convention.
Comment on lines +8 to +9
Source shape:
- no source input; this constructor creates a fresh MDN [Path2D](https://developer.mozilla.org/docs/Web/API/Path2D).
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

We don't need the source shape callout that this function takes no input, that is clear from the type signature.

Comment on lines +25 to +26
Source shape:
- local [`Path2D.t`](#t) mapped to MDN [Path2D](https://developer.mozilla.org/docs/Web/API/Path2D).
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I don't think any of these Source shape blocks are needed, the type and description are good enough.

/**
`fromPath2D(path2D)`

The Path2D() constructor creates a new Path2D object by copying another Path2D source.
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

The first part with The Path2D() constructor Is too verbose and too javascripty. Just focus on the ReScript side and keep it simple. And use backticks are specific types and names. Also try and not use overly verbose things like Path2D object when just saying Path2D is clear enough.

Suggested change
The Path2D() constructor creates a new Path2D object by copying another Path2D source.
Creates a new `Path2D` by copying another `Path2D` source.

Sign up for free to 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.

2 participants