Skip to content
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

tree: Reduce tree stable/public API surface using InternalTypes #21482

Merged
merged 10 commits into from
Jun 18, 2024

Conversation

CraigMacomber
Copy link
Contributor

@CraigMacomber CraigMacomber commented Jun 17, 2024

Description

Move several types into InternalTypes

The stable public API surface for Tree has been reduced.

Breaking Changes

Several types have been moved into InternalTypes, indicating that they are not fully stable nor intended to be referenced by users of Tree.

  • NodeBuilderData

  • FieldHasDefault

  • TreeNodeSchemaNonClass

  • TreeArrayNodeBase

  • ScopedSchemaName

  • DefaultProvider

  • typeNameSymbol

  • InsertableObjectFromSchemaRecord

  • ObjectFromSchemaRecord

  • FieldHasDefaultUnsafe

  • ObjectFromSchemaRecordUnsafe

  • TreeObjectNodeUnsafe

  • TreeFieldFromImplicitFieldUnsafe

  • TreeNodeFromImplicitAllowedTypesUnsafe

  • InsertableTreeNodeFromImplicitAllowedTypesUnsafe

  • TreeArrayNodeUnsafe

  • TreeMapNodeUnsafe

  • InsertableObjectFromSchemaRecordUnsafe

  • InsertableTreeFieldFromImplicitFieldUnsafe

  • InsertableTypedNodeUnsafe

  • NodeBuilderDataUnsafe

  • NodeFromSchemaUnsafe

  • FlexList

  • TreeApi

Additionally a few more types which could not be moved due to technically limitations have been documented that they should be treated similarly.

  • TreeNodeApi
  • TreeNodeSchemaCore
  • All *Unsafe type (use for construction of recursive schema).
  • WithType
  • AllowedTypes
  • FieldSchemaUnsafe

Also to reduce confusion type was renamed to typeNameSymbol, and is now only type exported. Tree.is should be used to get type information from TreeNodes instead.

Reviewer Guidance

The review process is outlined on this wiki page.

@CraigMacomber CraigMacomber requested a review from a team as a code owner June 17, 2024 23:38
@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 public api change Changes to a public API base: main PRs targeted against main branch labels Jun 17, 2024
@github-actions github-actions bot added the area: dev experience Improving the experience of devs building on top of fluid label Jun 18, 2024
@CraigMacomber CraigMacomber enabled auto-merge (squash) June 18, 2024 20:59
@CraigMacomber CraigMacomber merged commit 64d49dd into microsoft:main Jun 18, 2024
30 checks passed
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: dev experience Improving the experience of devs building on top of fluid area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct base: main PRs targeted against main branch public api change Changes to a public API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants