Skip to content

Add non static overrides for SchemaFactoryAlpha #24801

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jun 10, 2025

Conversation

CraigMacomber
Copy link
Contributor

Description

Since SchemaFactoryAlpha seems to be sticking around for a while and its APIs are not getting stabilized to public on a short timeline, flesh out its overrides to be a bit more complete and consistent.

Reviewer Guidance

The review process is outlined on this wiki page.

@Copilot Copilot AI review requested due to automatic review settings June 9, 2025 22:18
@CraigMacomber CraigMacomber requested review from a team as code owners June 9, 2025 22:18
@github-actions github-actions bot added area: dds Issues related to distributed data structures area: dds: tree area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct changeset-present public api change Changes to a public API base: main PRs targeted against main branch labels Jun 9, 2025
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR fleshes out SchemaFactoryAlpha by adding non‐static (instance) overrides for several schema helper properties and updates the alpha API reports and changeset accordingly.

  • Expose instance overrides for leaves, optional, required, optionalRecursive, and requiredRecursive in SchemaFactoryAlpha.
  • Update the generated .api.md files to include the new instance members and adjust system table schema entries to use FieldSchemaAlpha.
  • Add an alpha override for requiredRecursive in both static and instance contexts and document it in the changeset.

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
packages/framework/fluid-framework/api-report/fluid-framework.alpha.api.md Added instance overrides for leaves, optional, required, optionalRecursive, requiredRecursive; updated table schema field to FieldSchemaAlpha.
packages/dds/tree/src/simple-tree/api/schemaFactoryAlpha.ts Added JSDoc and instance overrides for leaves, optional, required, optionalRecursive, requiredRecursive.
packages/dds/tree/api-report/tree.alpha.api.md Mirrored the instance‐override additions and system table schema update in the tree API report.
.changeset/whole-days-argue.md Documented the new instance overrides and requiredRecursive addition.
Comments suppressed due to low confidence (2)

packages/dds/tree/src/simple-tree/api/schemaFactoryAlpha.ts:183

  • New instance override properties (leaves, optional, required, optionalRecursive, requiredRecursive) don’t appear to have accompanying unit tests. Consider adding tests to verify these instance members exist and match the static implementations.
public override readonly leaves = schemaStatics.leaves;

.changeset/whole-days-argue.md:6

  • [nitpick] Consider clarifying this change description by replacing “overrides for more instance properties” with something like “instance overrides” to make it clearer that the PR adds non-static versions of several SchemaFactoryAlpha members.
Add overrides for more instance properties in SchemaFactoryAlpha

Copy link
Contributor

@Josmithr Josmithr left a comment

Choose a reason for hiding this comment

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

Left a docs suggestion, but otherwise this looks good to me!

CraigMacomber and others added 2 commits June 10, 2025 09:34
Co-authored-by: Joshua Smithrud <54606601+Josmithr@users.noreply.github.com>
Copy link
Contributor

🔗 No broken links found! ✅

Your attention to detail is admirable.

linkcheck output


> fluid-framework-docs-site@0.0.0 ci:check-links /home/runner/work/FluidFramework/FluidFramework/docs
> start-server-and-test "npm run serve -- --no-open" 3000 check-links

1: starting server using command "npm run serve -- --no-open"
and when url "[ 'http://127.0.0.1:3000' ]" is responding with HTTP status code 200
running tests using command "npm run check-links"


> fluid-framework-docs-site@0.0.0 serve
> docusaurus serve --no-open

[SUCCESS] Serving "build" directory at: http://localhost:3000/

> fluid-framework-docs-site@0.0.0 check-links
> linkcheck http://localhost:3000 --skip-file skipped-urls.txt

Crawling...

Stats:
  223740 links
    1709 destination URLs
    1941 URLs ignored
       0 warnings
       0 errors


@CraigMacomber CraigMacomber merged commit cc8bdbc into microsoft:main Jun 10, 2025
40 checks passed
@CraigMacomber CraigMacomber deleted the instanceMethods branch June 10, 2025 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: dds: tree area: dds Issues related to distributed data structures area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct base: main PRs targeted against main branch changeset-present public api change Changes to a public API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants