-
Notifications
You must be signed in to change notification settings - Fork 568
Expose staged, types, stagedRecursive and typesRecursive on `…
#25779
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
Changes from 9 commits
b959b26
d8dd525
8399356
1508f49
803e959
1a7582a
6bdfb14
c840c17
3cd1ad6
6cee8f5
d470bc1
08b8fcf
e387e0d
466ae02
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,7 @@ | ||||||
| --- | ||||||
| "@fluidframework/tree": minor | ||||||
| "__section": feature | ||||||
| --- | ||||||
| Expose `staged`, `types`, `stagedRecursive` and `typesRecursive` on `SchemaFactoryBeta` | ||||||
|
|
||||||
| These APIs were previously only available on `SchemaFactoryAlpha`, but is now available on `SchemaFactoryBeta`. | ||||||
|
||||||
| These APIs were previously only available on `SchemaFactoryAlpha`, but is now available on `SchemaFactoryBeta`. | |
| These APIs were previously only available on `SchemaFactoryAlpha`, but are now available on `SchemaFactoryBeta`. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -33,7 +33,7 @@ export type AllowedTypesFullEvaluated = AllowedTypesFull<readonly AnnotatedAllow | |
| // @beta @sealed @system | ||
| export type AllowedTypesFullFromMixed<T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]> = UnannotateAllowedTypesList<T> & AnnotatedAllowedTypes<AnnotateAllowedTypesList<T>>; | ||
|
|
||
| // @alpha @sealed @system | ||
| // @beta @sealed @system | ||
| export type AllowedTypesFullFromMixedUnsafe<T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]> = UnannotateAllowedTypesListUnsafe<T> & AnnotatedAllowedTypes<AnnotateAllowedTypesListUnsafe<T>>; | ||
|
|
||
| // @alpha @sealed @system | ||
|
|
@@ -52,7 +52,7 @@ export type AnnotateAllowedTypesList<T extends readonly (AnnotatedAllowedType | | |
| [I in keyof T]: T[I] extends AnnotatedAllowedType<unknown> ? T[I] : AnnotatedAllowedType<T[I]>; | ||
| }; | ||
|
|
||
| // @alpha @sealed @system | ||
| // @beta @sealed @system | ||
| export type AnnotateAllowedTypesListUnsafe<T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]> = { | ||
| [I in keyof T]: T[I] extends AnnotatedAllowedTypeUnsafe ? T[I] : AnnotatedAllowedTypeUnsafe<T[I]>; | ||
| }; | ||
|
|
@@ -72,11 +72,11 @@ export interface AnnotatedAllowedTypes<T = readonly AnnotatedAllowedType[]> exte | |
| readonly types: T; | ||
| } | ||
|
|
||
| // @alpha @sealed @system | ||
| // @beta @sealed @system | ||
| export interface AnnotatedAllowedTypesUnsafe extends AnnotatedAllowedTypes<LazyItem<System_Unsafe.TreeNodeSchemaUnsafe>> { | ||
| } | ||
|
|
||
| // @alpha @sealed @system | ||
| // @beta @sealed @system | ||
| export interface AnnotatedAllowedTypeUnsafe<T = Unenforced<LazyItem<TreeNodeSchema>>> extends AnnotatedAllowedType<T> { | ||
| } | ||
|
|
||
|
|
@@ -900,9 +900,9 @@ export const SchemaFactory_base: SchemaStatics & (new () => SchemaStatics); | |
| export class SchemaFactoryAlpha<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactoryBeta<TScope, TName> { | ||
| arrayAlpha<const Name extends TName, const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>): ArrayNodeCustomizableSchema<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata>; | ||
| arrayRecursive<const Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>): ArrayNodeCustomizableSchemaUnsafe<ScopedSchemaName<TScope, Name>, T, TCustomMetadata>; | ||
| static readonly identifier: <const TCustomMetadata = unknown>(props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlpha<FieldKind.Identifier, LeafSchema<"string", string> & SimpleLeafNodeSchema, TCustomMetadata>; | ||
| static readonly leaves: readonly [LeafSchema<"string", string> & SimpleLeafNodeSchema, LeafSchema<"number", number> & SimpleLeafNodeSchema, LeafSchema<"boolean", boolean> & SimpleLeafNodeSchema, LeafSchema<"null", null> & SimpleLeafNodeSchema, LeafSchema<"handle", IFluidHandle_2<unknown>> & SimpleLeafNodeSchema]; | ||
| readonly leaves: readonly [LeafSchema<"string", string> & SimpleLeafNodeSchema, LeafSchema<"number", number> & SimpleLeafNodeSchema, LeafSchema<"boolean", boolean> & SimpleLeafNodeSchema, LeafSchema<"null", null> & SimpleLeafNodeSchema, LeafSchema<"handle", IFluidHandle_2<unknown>> & SimpleLeafNodeSchema]; | ||
| static readonly identifier: <const TCustomMetadata = unknown>(props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlpha<FieldKind.Identifier, LeafSchema_3<"string", string> & SimpleLeafNodeSchema_2, TCustomMetadata>; | ||
|
||
| static readonly leaves: readonly [LeafSchema_3<"string", string> & SimpleLeafNodeSchema_2, LeafSchema_3<"number", number> & SimpleLeafNodeSchema_2, LeafSchema_3<"boolean", boolean> & SimpleLeafNodeSchema_2, LeafSchema_3<"null", null> & SimpleLeafNodeSchema_2, LeafSchema_3<"handle", IFluidHandle_2<unknown>> & SimpleLeafNodeSchema_2]; | ||
| readonly leaves: readonly [LeafSchema_3<"string", string> & SimpleLeafNodeSchema_2, LeafSchema_3<"number", number> & SimpleLeafNodeSchema_2, LeafSchema_3<"boolean", boolean> & SimpleLeafNodeSchema_2, LeafSchema_3<"null", null> & SimpleLeafNodeSchema_2, LeafSchema_3<"handle", IFluidHandle_2<unknown>> & SimpleLeafNodeSchema_2]; | ||
| mapAlpha<Name extends TName, const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>): MapNodeCustomizableSchema<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata>; | ||
| mapRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>): MapNodeCustomizableSchemaUnsafe<ScopedSchemaName<TScope, Name>, T, TCustomMetadata>; | ||
| objectAlpha<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>, const TCustomMetadata = unknown>(name: Name, fields: T, options?: ObjectSchemaOptionsAlpha<TCustomMetadata>): ObjectNodeSchema<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata> & { | ||
|
|
@@ -922,14 +922,6 @@ export class SchemaFactoryAlpha<out TScope extends string | undefined = string | | |
| static readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlphaUnsafe<FieldKind.Required, T, TCustomMetadata>; | ||
| readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlphaUnsafe<FieldKind.Required, T, TCustomMetadata>; | ||
| scopedFactoryAlpha<const T extends TName, TNameInner extends number | string = string>(name: T): SchemaFactoryAlpha<ScopedSchemaName<TScope, T>, TNameInner>; | ||
| static staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>; | ||
| staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>; | ||
| static stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>; | ||
| stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>; | ||
| static types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>; | ||
| types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>; | ||
| static typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>; | ||
| typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>; | ||
| } | ||
|
|
||
| // @beta | ||
|
|
@@ -943,6 +935,14 @@ export class SchemaFactoryBeta<out TScope extends string | undefined = string | | |
| readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>; | ||
| }, false, T, undefined, TCustomMetadata>; | ||
| scopedFactory<const T extends TName, TNameInner extends number | string = string>(name: T): SchemaFactoryBeta<ScopedSchemaName<TScope, T>, TNameInner>; | ||
| static staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>; | ||
| staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>; | ||
| static stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>; | ||
| stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>; | ||
| static types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>; | ||
| types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>; | ||
| static typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>; | ||
| typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>; | ||
| } | ||
|
|
||
| // @public @sealed @system | ||
|
|
@@ -965,8 +965,8 @@ export interface SchemaStatics { | |
| readonly string: LeafSchema<"string", string>; | ||
| } | ||
|
|
||
| // @alpha @sealed @system | ||
| export interface SchemaStaticsAlpha { | ||
| // @beta @sealed @system | ||
| export interface SchemaStaticsBeta { | ||
| readonly staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>; | ||
| stagedRecursive: <const T extends Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>; | ||
| readonly types: <const T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixed<T>; | ||
|
|
@@ -1669,14 +1669,14 @@ export type UnannotateAllowedTypesList<T extends readonly (AnnotatedAllowedType | |
| [I in keyof T]: T[I] extends AnnotatedAllowedType<infer X> ? X : T[I]; | ||
| }; | ||
|
|
||
| // @alpha @sealed @system | ||
| // @beta @sealed @system | ||
| export type UnannotateAllowedTypesListUnsafe<T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]> = { | ||
| readonly [I in keyof T]: T[I] extends { | ||
| type: infer X; | ||
| } ? X : T[I]; | ||
| }; | ||
|
|
||
| // @alpha @sealed @system | ||
| // @beta @sealed @system | ||
| export type UnannotateAllowedTypeUnsafe<T extends Unenforced<AnnotatedAllowedTypeUnsafe | LazyItem<System_Unsafe.TreeNodeSchemaUnsafe>>> = T extends AnnotatedAllowedTypeUnsafe<infer X> ? X : T; | ||
|
|
||
| // @public | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See https://github.com/microsoft/FluidFramework/wiki/Changesets#formatting :