@fluidframework/tree 2.33.1 → 2.40.0-336023
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vscode/settings.json +2 -0
- package/api-report/tree.alpha.api.md +120 -50
- package/api-report/tree.beta.api.md +31 -27
- package/api-report/tree.legacy.alpha.api.md +24 -23
- package/api-report/tree.legacy.public.api.md +24 -23
- package/api-report/tree.public.api.md +24 -23
- package/dist/alpha.d.ts +16 -1
- package/dist/beta.d.ts +2 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internalTypes.d.ts +0 -1
- package/dist/internalTypes.d.ts.map +1 -1
- package/dist/internalTypes.js.map +1 -1
- package/dist/jsonDomainSchema.d.ts +2 -2
- package/dist/jsonDomainSchema.js +2 -2
- package/dist/jsonDomainSchema.js.map +1 -1
- package/dist/legacy.d.ts +2 -0
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.d.ts.map +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/public.d.ts +2 -0
- package/dist/serializableDomainSchema.d.ts +3 -3
- package/dist/serializableDomainSchema.js +2 -2
- package/dist/serializableDomainSchema.js.map +1 -1
- package/dist/shared-tree/independentView.d.ts +1 -1
- package/dist/shared-tree/independentView.js.map +1 -1
- package/dist/shared-tree/index.d.ts +3 -2
- package/dist/shared-tree/index.d.ts.map +1 -1
- package/dist/shared-tree/index.js +4 -4
- package/dist/shared-tree/index.js.map +1 -1
- package/dist/shared-tree/schematizeTree.d.ts +4 -4
- package/dist/shared-tree/schematizeTree.d.ts.map +1 -1
- package/dist/shared-tree/schematizeTree.js +2 -3
- package/dist/shared-tree/schematizeTree.js.map +1 -1
- package/dist/shared-tree/schematizingTreeView.d.ts +3 -3
- package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/dist/shared-tree/schematizingTreeView.js +4 -4
- package/dist/shared-tree/schematizingTreeView.js.map +1 -1
- package/dist/shared-tree/{treeApi.d.ts → tree.d.ts} +34 -34
- package/dist/shared-tree/tree.d.ts.map +1 -0
- package/dist/shared-tree/{treeApi.js → tree.js} +6 -6
- package/dist/shared-tree/tree.js.map +1 -0
- package/dist/shared-tree/{treeApiAlpha.d.ts → treeAlpha.d.ts} +22 -14
- package/dist/shared-tree/treeAlpha.d.ts.map +1 -0
- package/dist/shared-tree/{treeApiAlpha.js → treeAlpha.js} +4 -3
- package/dist/shared-tree/treeAlpha.js.map +1 -0
- package/dist/simple-tree/api/conciseTree.d.ts +1 -1
- package/dist/simple-tree/api/conciseTree.js.map +1 -1
- package/dist/simple-tree/api/configuration.d.ts +177 -0
- package/dist/simple-tree/api/configuration.d.ts.map +1 -0
- package/dist/simple-tree/api/configuration.js +163 -0
- package/dist/simple-tree/api/configuration.js.map +1 -0
- package/dist/simple-tree/api/getJsonSchema.js +2 -2
- package/dist/simple-tree/api/getJsonSchema.js.map +1 -1
- package/dist/simple-tree/api/index.d.ts +7 -4
- package/dist/simple-tree/api/index.d.ts.map +1 -1
- package/dist/simple-tree/api/index.js +8 -7
- package/dist/simple-tree/api/index.js.map +1 -1
- package/dist/simple-tree/api/{view.d.ts → schemaCompatibilityTester.d.ts} +8 -10
- package/dist/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -0
- package/dist/simple-tree/api/{view.js → schemaCompatibilityTester.js} +9 -9
- package/dist/simple-tree/api/schemaCompatibilityTester.js.map +1 -0
- package/dist/simple-tree/api/schemaFactory.d.ts +16 -10
- package/dist/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactory.js +20 -12
- package/dist/simple-tree/api/schemaFactory.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts +12 -6
- package/dist/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryAlpha.js +2 -2
- package/dist/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.d.ts +67 -4
- package/dist/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
- package/dist/simple-tree/api/schemaFromSimple.d.ts +1 -1
- package/dist/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
- package/dist/simple-tree/api/schemaFromSimple.js +1 -1
- package/dist/simple-tree/api/schemaFromSimple.js.map +1 -1
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts +1 -1
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
- package/dist/simple-tree/api/storedSchema.d.ts +3 -3
- package/dist/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/dist/simple-tree/api/storedSchema.js +3 -2
- package/dist/simple-tree/api/storedSchema.js.map +1 -1
- package/dist/simple-tree/api/tree.d.ts +5 -174
- package/dist/simple-tree/api/tree.d.ts.map +1 -1
- package/dist/simple-tree/api/tree.js +1 -156
- package/dist/simple-tree/api/tree.js.map +1 -1
- package/{lib/simple-tree/api/treeApiBeta.d.ts → dist/simple-tree/api/treeBeta.d.ts} +13 -5
- package/dist/simple-tree/api/treeBeta.d.ts.map +1 -0
- package/dist/simple-tree/api/{treeApiBeta.js → treeBeta.js} +5 -4
- package/dist/simple-tree/api/treeBeta.js.map +1 -0
- package/dist/simple-tree/api/typesUnsafe.d.ts +4 -9
- package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
- package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
- package/dist/simple-tree/arrayNode.d.ts +2 -2
- package/dist/simple-tree/arrayNode.d.ts.map +1 -1
- package/dist/simple-tree/arrayNode.js +3 -2
- package/dist/simple-tree/arrayNode.js.map +1 -1
- package/dist/simple-tree/arrayNodeTypes.d.ts +3 -3
- package/dist/simple-tree/arrayNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/arrayNodeTypes.js.map +1 -1
- package/dist/simple-tree/index.d.ts +3 -3
- package/dist/simple-tree/index.d.ts.map +1 -1
- package/dist/simple-tree/index.js +2 -2
- package/dist/simple-tree/index.js.map +1 -1
- package/dist/simple-tree/mapNode.d.ts +2 -2
- package/dist/simple-tree/mapNode.d.ts.map +1 -1
- package/dist/simple-tree/mapNode.js +1 -1
- package/dist/simple-tree/mapNode.js.map +1 -1
- package/dist/simple-tree/mapNodeTypes.d.ts +3 -3
- package/dist/simple-tree/mapNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/mapNodeTypes.js.map +1 -1
- package/dist/simple-tree/objectNode.d.ts +18 -5
- package/dist/simple-tree/objectNode.d.ts.map +1 -1
- package/dist/simple-tree/objectNode.js +4 -3
- package/dist/simple-tree/objectNode.js.map +1 -1
- package/dist/simple-tree/objectNodeTypes.d.ts +4 -4
- package/dist/simple-tree/objectNodeTypes.d.ts.map +1 -1
- package/dist/simple-tree/objectNodeTypes.js.map +1 -1
- package/dist/simple-tree/schemaTypes.d.ts +163 -13
- package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
- package/dist/simple-tree/schemaTypes.js +107 -8
- package/dist/simple-tree/schemaTypes.js.map +1 -1
- package/dist/simple-tree/treeNodeValid.js +2 -2
- package/dist/simple-tree/treeNodeValid.js.map +1 -1
- package/dist/tableSchema.d.ts +197 -86
- package/dist/tableSchema.d.ts.map +1 -1
- package/dist/tableSchema.js +100 -45
- package/dist/tableSchema.js.map +1 -1
- package/dist/util/typeUtils.d.ts +1 -1
- package/dist/util/typeUtils.js.map +1 -1
- package/lib/alpha.d.ts +16 -1
- package/lib/beta.d.ts +2 -0
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/internalTypes.d.ts +0 -1
- package/lib/internalTypes.d.ts.map +1 -1
- package/lib/internalTypes.js.map +1 -1
- package/lib/jsonDomainSchema.d.ts +2 -2
- package/lib/jsonDomainSchema.js +2 -2
- package/lib/jsonDomainSchema.js.map +1 -1
- package/lib/legacy.d.ts +2 -0
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.d.ts.map +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/public.d.ts +2 -0
- package/lib/serializableDomainSchema.d.ts +3 -3
- package/lib/serializableDomainSchema.js +2 -2
- package/lib/serializableDomainSchema.js.map +1 -1
- package/lib/shared-tree/independentView.d.ts +1 -1
- package/lib/shared-tree/independentView.js.map +1 -1
- package/lib/shared-tree/index.d.ts +3 -2
- package/lib/shared-tree/index.d.ts.map +1 -1
- package/lib/shared-tree/index.js +2 -2
- package/lib/shared-tree/index.js.map +1 -1
- package/lib/shared-tree/schematizeTree.d.ts +4 -4
- package/lib/shared-tree/schematizeTree.d.ts.map +1 -1
- package/lib/shared-tree/schematizeTree.js +2 -3
- package/lib/shared-tree/schematizeTree.js.map +1 -1
- package/lib/shared-tree/schematizingTreeView.d.ts +3 -3
- package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
- package/lib/shared-tree/schematizingTreeView.js +5 -5
- package/lib/shared-tree/schematizingTreeView.js.map +1 -1
- package/lib/shared-tree/{treeApi.d.ts → tree.d.ts} +34 -34
- package/lib/shared-tree/tree.d.ts.map +1 -0
- package/lib/shared-tree/{treeApi.js → tree.js} +5 -5
- package/lib/shared-tree/tree.js.map +1 -0
- package/lib/shared-tree/{treeApiAlpha.d.ts → treeAlpha.d.ts} +22 -14
- package/lib/shared-tree/treeAlpha.d.ts.map +1 -0
- package/lib/shared-tree/{treeApiAlpha.js → treeAlpha.js} +4 -3
- package/lib/shared-tree/treeAlpha.js.map +1 -0
- package/lib/simple-tree/api/conciseTree.d.ts +1 -1
- package/lib/simple-tree/api/conciseTree.js.map +1 -1
- package/lib/simple-tree/api/configuration.d.ts +177 -0
- package/lib/simple-tree/api/configuration.d.ts.map +1 -0
- package/lib/simple-tree/api/configuration.js +157 -0
- package/lib/simple-tree/api/configuration.js.map +1 -0
- package/lib/simple-tree/api/getJsonSchema.js +1 -1
- package/lib/simple-tree/api/getJsonSchema.js.map +1 -1
- package/lib/simple-tree/api/index.d.ts +7 -4
- package/lib/simple-tree/api/index.d.ts.map +1 -1
- package/lib/simple-tree/api/index.js +4 -3
- package/lib/simple-tree/api/index.js.map +1 -1
- package/lib/simple-tree/api/{view.d.ts → schemaCompatibilityTester.d.ts} +8 -10
- package/lib/simple-tree/api/schemaCompatibilityTester.d.ts.map +1 -0
- package/lib/simple-tree/api/{view.js → schemaCompatibilityTester.js} +7 -7
- package/lib/simple-tree/api/schemaCompatibilityTester.js.map +1 -0
- package/lib/simple-tree/api/schemaFactory.d.ts +16 -10
- package/lib/simple-tree/api/schemaFactory.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactory.js +20 -12
- package/lib/simple-tree/api/schemaFactory.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts +12 -6
- package/lib/simple-tree/api/schemaFactoryAlpha.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryAlpha.js +2 -2
- package/lib/simple-tree/api/schemaFactoryAlpha.js.map +1 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.d.ts +67 -4
- package/lib/simple-tree/api/schemaFactoryRecursive.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFactoryRecursive.js.map +1 -1
- package/lib/simple-tree/api/schemaFromSimple.d.ts +1 -1
- package/lib/simple-tree/api/schemaFromSimple.d.ts.map +1 -1
- package/lib/simple-tree/api/schemaFromSimple.js +1 -1
- package/lib/simple-tree/api/schemaFromSimple.js.map +1 -1
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts +1 -1
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/simpleSchemaToJsonSchema.js.map +1 -1
- package/lib/simple-tree/api/storedSchema.d.ts +3 -3
- package/lib/simple-tree/api/storedSchema.d.ts.map +1 -1
- package/lib/simple-tree/api/storedSchema.js +3 -2
- package/lib/simple-tree/api/storedSchema.js.map +1 -1
- package/lib/simple-tree/api/tree.d.ts +5 -174
- package/lib/simple-tree/api/tree.d.ts.map +1 -1
- package/lib/simple-tree/api/tree.js +0 -152
- package/lib/simple-tree/api/tree.js.map +1 -1
- package/{dist/simple-tree/api/treeApiBeta.d.ts → lib/simple-tree/api/treeBeta.d.ts} +13 -5
- package/lib/simple-tree/api/treeBeta.d.ts.map +1 -0
- package/lib/simple-tree/api/{treeApiBeta.js → treeBeta.js} +5 -4
- package/lib/simple-tree/api/treeBeta.js.map +1 -0
- package/lib/simple-tree/api/typesUnsafe.d.ts +4 -9
- package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
- package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
- package/lib/simple-tree/arrayNode.d.ts +2 -2
- package/lib/simple-tree/arrayNode.d.ts.map +1 -1
- package/lib/simple-tree/arrayNode.js +4 -3
- package/lib/simple-tree/arrayNode.js.map +1 -1
- package/lib/simple-tree/arrayNodeTypes.d.ts +3 -3
- package/lib/simple-tree/arrayNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/arrayNodeTypes.js.map +1 -1
- package/lib/simple-tree/index.d.ts +3 -3
- package/lib/simple-tree/index.d.ts.map +1 -1
- package/lib/simple-tree/index.js +1 -1
- package/lib/simple-tree/index.js.map +1 -1
- package/lib/simple-tree/mapNode.d.ts +2 -2
- package/lib/simple-tree/mapNode.d.ts.map +1 -1
- package/lib/simple-tree/mapNode.js +2 -2
- package/lib/simple-tree/mapNode.js.map +1 -1
- package/lib/simple-tree/mapNodeTypes.d.ts +3 -3
- package/lib/simple-tree/mapNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/mapNodeTypes.js.map +1 -1
- package/lib/simple-tree/objectNode.d.ts +18 -5
- package/lib/simple-tree/objectNode.d.ts.map +1 -1
- package/lib/simple-tree/objectNode.js +5 -4
- package/lib/simple-tree/objectNode.js.map +1 -1
- package/lib/simple-tree/objectNodeTypes.d.ts +4 -4
- package/lib/simple-tree/objectNodeTypes.d.ts.map +1 -1
- package/lib/simple-tree/objectNodeTypes.js.map +1 -1
- package/lib/simple-tree/schemaTypes.d.ts +163 -13
- package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
- package/lib/simple-tree/schemaTypes.js +96 -8
- package/lib/simple-tree/schemaTypes.js.map +1 -1
- package/lib/simple-tree/treeNodeValid.js +2 -2
- package/lib/simple-tree/treeNodeValid.js.map +1 -1
- package/lib/tableSchema.d.ts +197 -86
- package/lib/tableSchema.d.ts.map +1 -1
- package/lib/tableSchema.js +100 -45
- package/lib/tableSchema.js.map +1 -1
- package/lib/util/typeUtils.d.ts +1 -1
- package/lib/util/typeUtils.js.map +1 -1
- package/package.json +20 -20
- package/src/index.ts +17 -1
- package/src/internalTypes.ts +0 -2
- package/src/jsonDomainSchema.ts +2 -2
- package/src/packageVersion.ts +1 -1
- package/src/serializableDomainSchema.ts +3 -3
- package/src/shared-tree/independentView.ts +1 -1
- package/src/shared-tree/index.ts +3 -6
- package/src/shared-tree/schematizeTree.ts +5 -5
- package/src/shared-tree/schematizingTreeView.ts +11 -8
- package/src/shared-tree/{treeApi.ts → tree.ts} +51 -51
- package/src/shared-tree/{treeApiAlpha.ts → treeAlpha.ts} +22 -13
- package/src/simple-tree/api/conciseTree.ts +1 -1
- package/src/simple-tree/api/configuration.ts +353 -0
- package/src/simple-tree/api/getJsonSchema.ts +1 -1
- package/src/simple-tree/api/index.ts +21 -15
- package/src/simple-tree/api/{view.ts → schemaCompatibilityTester.ts} +8 -15
- package/src/simple-tree/api/schemaFactory.ts +130 -19
- package/src/simple-tree/api/schemaFactoryAlpha.ts +7 -5
- package/src/simple-tree/api/schemaFactoryRecursive.ts +102 -38
- package/src/simple-tree/api/schemaFromSimple.ts +2 -2
- package/src/simple-tree/api/simpleSchemaToJsonSchema.ts +1 -1
- package/src/simple-tree/api/storedSchema.ts +8 -4
- package/src/simple-tree/api/tree.ts +13 -354
- package/src/simple-tree/api/{treeApiBeta.ts → treeBeta.ts} +17 -5
- package/src/simple-tree/api/typesUnsafe.ts +15 -11
- package/src/simple-tree/arrayNode.ts +10 -5
- package/src/simple-tree/arrayNodeTypes.ts +8 -7
- package/src/simple-tree/index.ts +17 -1
- package/src/simple-tree/mapNode.ts +11 -3
- package/src/simple-tree/mapNodeTypes.ts +10 -7
- package/src/simple-tree/objectNode.ts +39 -15
- package/src/simple-tree/objectNodeTypes.ts +9 -5
- package/src/simple-tree/schemaTypes.ts +353 -25
- package/src/simple-tree/treeNodeValid.ts +2 -2
- package/src/tableSchema.ts +749 -445
- package/src/util/typeUtils.ts +1 -1
- package/dist/shared-tree/treeApi.d.ts.map +0 -1
- package/dist/shared-tree/treeApi.js.map +0 -1
- package/dist/shared-tree/treeApiAlpha.d.ts.map +0 -1
- package/dist/shared-tree/treeApiAlpha.js.map +0 -1
- package/dist/simple-tree/api/treeApiBeta.d.ts.map +0 -1
- package/dist/simple-tree/api/treeApiBeta.js.map +0 -1
- package/dist/simple-tree/api/view.d.ts.map +0 -1
- package/dist/simple-tree/api/view.js.map +0 -1
- package/lib/shared-tree/treeApi.d.ts.map +0 -1
- package/lib/shared-tree/treeApi.js.map +0 -1
- package/lib/shared-tree/treeApiAlpha.d.ts.map +0 -1
- package/lib/shared-tree/treeApiAlpha.js.map +0 -1
- package/lib/simple-tree/api/treeApiBeta.d.ts.map +0 -1
- package/lib/simple-tree/api/treeApiBeta.js.map +0 -1
- package/lib/simple-tree/api/view.d.ts.map +0 -1
- package/lib/simple-tree/api/view.js.map +0 -1
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { ErasedType, IFluidHandle } from "@fluidframework/core-interfaces";
|
|
6
6
|
import type { NodeIdentifierManager } from "../feature-libraries/index.js";
|
|
7
|
-
import { type MakeNominal, type UnionToIntersection } from "../util/index.js";
|
|
7
|
+
import { type MakeNominal, type UnionToIntersection, type RestrictiveStringRecord, type IsUnion } from "../util/index.js";
|
|
8
8
|
import type { Unhydrated, NodeKind, TreeNodeSchema, TreeNodeSchemaClass, TreeNode, TreeNodeSchemaCore, TreeNodeSchemaNonClass } from "./core/index.js";
|
|
9
9
|
import type { FieldKey } from "../core/index.js";
|
|
10
10
|
import type { InsertableContent } from "./toMapTree.js";
|
|
@@ -27,12 +27,78 @@ export declare function isTreeNodeSchemaClass<Name extends string, Kind extends
|
|
|
27
27
|
* Ideally this restriction would be modeled in the type itself, but it is not ergonomic to do so as there is no easy (when compared to arrays)
|
|
28
28
|
* way to declare and manipulate unordered sets of types in TypeScript.
|
|
29
29
|
*
|
|
30
|
-
*
|
|
30
|
+
* Duplicate entries in this array are not allowed and will produce runtime errors.
|
|
31
|
+
* Duplicate types are allowed,
|
|
32
|
+
* but this must only be reflected in the type and not the runtime values.
|
|
33
|
+
* This duplication can be used to encode the typing when the number of items in the array is not known at compile time
|
|
34
|
+
* but some of the items are known to be present unconditionally.
|
|
35
|
+
* For example, typing `[typeof A] | [typeof A, typeof B]` as `[typeof A, typeof B | typeof A]` is allowed,
|
|
36
|
+
* and can produce more useful {@link Input} types.
|
|
31
37
|
* @privateRemarks
|
|
32
38
|
* Code reading data from this should use `normalizeAllowedTypes` to ensure consistent handling, caching, nice errors etc.
|
|
33
39
|
* @system @public
|
|
34
40
|
*/
|
|
35
41
|
export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
|
|
42
|
+
/**
|
|
43
|
+
* Stores annotations for a set of allowed types.
|
|
44
|
+
* @alpha
|
|
45
|
+
*/
|
|
46
|
+
export interface AnnotatedAllowedTypes {
|
|
47
|
+
/**
|
|
48
|
+
* Annotations that apply to a set of allowed types.
|
|
49
|
+
*/
|
|
50
|
+
readonly metadata: AllowedTypesMetadata;
|
|
51
|
+
/**
|
|
52
|
+
* All the allowed types that the annotations apply to. The types themselves may also have individual annotations.
|
|
53
|
+
*/
|
|
54
|
+
readonly types: readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Checks if the input is an {@link AnnotatedAllowedTypes}.
|
|
58
|
+
*/
|
|
59
|
+
export declare function isAnnotatedAllowedTypes(allowedTypes: ImplicitAnnotatedAllowedTypes): allowedTypes is AnnotatedAllowedTypes;
|
|
60
|
+
/**
|
|
61
|
+
* Annotations that apply to a set of allowed types.
|
|
62
|
+
* @remarks
|
|
63
|
+
* Additional optionals may be added to this as non-breaking changes, so implementations of it should be simple object literals with no unlisted members.
|
|
64
|
+
* @alpha
|
|
65
|
+
*/
|
|
66
|
+
export interface AllowedTypesMetadata {
|
|
67
|
+
/**
|
|
68
|
+
* User defined metadata
|
|
69
|
+
*/
|
|
70
|
+
readonly custom?: unknown;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Stores annotations for an individual allowed type.
|
|
74
|
+
* @alpha
|
|
75
|
+
*/
|
|
76
|
+
export interface AnnotatedAllowedType<T extends TreeNodeSchema = TreeNodeSchema> {
|
|
77
|
+
/**
|
|
78
|
+
* Annotations for the allowed type.
|
|
79
|
+
*/
|
|
80
|
+
readonly metadata: AllowedTypeMetadata;
|
|
81
|
+
/**
|
|
82
|
+
* The allowed type the annotations apply to in a particular schema.
|
|
83
|
+
*/
|
|
84
|
+
readonly type: LazyItem<T>;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Checks if the given allowed type is annotated with {@link AllowedTypeMetadata}.
|
|
88
|
+
*/
|
|
89
|
+
export declare function isAnnotatedAllowedType(allowedType: AnnotatedAllowedType | LazyItem<TreeNodeSchema>): allowedType is AnnotatedAllowedType;
|
|
90
|
+
/**
|
|
91
|
+
* Annotations that apply to an individual allowed type.
|
|
92
|
+
* @remarks
|
|
93
|
+
* Additional optionals may be added to this as non-breaking changes, so implementations of it should be simple object literals with no unlisted members.
|
|
94
|
+
* @alpha
|
|
95
|
+
*/
|
|
96
|
+
export interface AllowedTypeMetadata {
|
|
97
|
+
/**
|
|
98
|
+
* User defined metadata
|
|
99
|
+
*/
|
|
100
|
+
readonly custom?: unknown;
|
|
101
|
+
}
|
|
36
102
|
/**
|
|
37
103
|
* Kind of a field on an {@link TreeObjectNode}.
|
|
38
104
|
* @remarks
|
|
@@ -204,7 +270,11 @@ export interface FieldSchemaMetadata<TCustomMetadata = unknown> {
|
|
|
204
270
|
/**
|
|
205
271
|
* Package internal construction API.
|
|
206
272
|
*/
|
|
207
|
-
export declare
|
|
273
|
+
export declare function createFieldSchema<Kind extends FieldKind, Types extends ImplicitAllowedTypes, TCustomMetadata = unknown>(kind: Kind, annotatedTypes: Types, props?: FieldProps<TCustomMetadata>): FieldSchemaAlpha<Kind, Types, TCustomMetadata>;
|
|
274
|
+
/**
|
|
275
|
+
* Package internal construction API that supports annotations for allowed types.
|
|
276
|
+
*/
|
|
277
|
+
export declare function createFieldSchema<Kind extends FieldKind, Types extends ImplicitAnnotatedAllowedTypes, TCustomMetadata = unknown>(kind: Kind, annotatedTypes: Types, props?: FieldProps<TCustomMetadata>): FieldSchemaAlpha<Kind, UnannotateImplicitAllowedTypes<Types>, TCustomMetadata>;
|
|
208
278
|
/**
|
|
209
279
|
* All policy for a specific field,
|
|
210
280
|
* including functionality that does not have to be kept consistent across versions or deterministic.
|
|
@@ -282,23 +352,34 @@ export declare class FieldSchema<out Kind extends FieldKind = FieldKind, out Typ
|
|
|
282
352
|
* @sealed @alpha
|
|
283
353
|
*/
|
|
284
354
|
export declare class FieldSchemaAlpha<Kind extends FieldKind = FieldKind, Types extends ImplicitAllowedTypes = ImplicitAllowedTypes, TCustomMetadata = unknown> extends FieldSchema<Kind, Types, TCustomMetadata> implements SimpleFieldSchema {
|
|
355
|
+
readonly annotatedAllowedTypes: ImplicitAnnotatedAllowedTypes;
|
|
285
356
|
private readonly lazyIdentifiers;
|
|
286
|
-
|
|
357
|
+
private readonly lazyAnnotatedTypes;
|
|
358
|
+
/**
|
|
359
|
+
* Metadata on the types of tree nodes allowed on this field.
|
|
360
|
+
*/
|
|
361
|
+
readonly allowedTypesMetadata: AllowedTypesMetadata;
|
|
362
|
+
protected constructor(kind: Kind, types: Types, annotatedAllowedTypes: ImplicitAnnotatedAllowedTypes, props?: FieldProps<TCustomMetadata>);
|
|
287
363
|
get allowedTypesIdentifiers(): ReadonlySet<string>;
|
|
364
|
+
/**
|
|
365
|
+
* What types of tree nodes are allowed in this field and their annotations.
|
|
366
|
+
* @remarks Counterpart to {@link FieldSchemaAlpha.annotatedAllowedTypes}, with any lazy definitions evaluated.
|
|
367
|
+
*/
|
|
368
|
+
get annotatedAllowedTypeSet(): ReadonlyMap<TreeNodeSchema, AllowedTypeMetadata>;
|
|
288
369
|
}
|
|
289
370
|
/**
|
|
290
371
|
* {@link FieldSchemaAlpha} including {@link SimpleObjectFieldSchema}.
|
|
291
372
|
*/
|
|
292
373
|
export declare class ObjectFieldSchema<Kind extends FieldKind = FieldKind, Types extends ImplicitAllowedTypes = ImplicitAllowedTypes, TCustomMetadata = unknown> extends FieldSchemaAlpha<Kind, Types, TCustomMetadata> implements SimpleObjectFieldSchema {
|
|
293
374
|
readonly storedKey: string;
|
|
294
|
-
constructor(kind: Kind, allowedTypes: Types, props: FieldProps<TCustomMetadata> & {
|
|
375
|
+
constructor(kind: Kind, allowedTypes: Types, annotatedTypes: ImplicitAnnotatedAllowedTypes, props: FieldProps<TCustomMetadata> & {
|
|
295
376
|
readonly key: string;
|
|
296
377
|
});
|
|
297
378
|
}
|
|
298
379
|
/**
|
|
299
|
-
* Normalizes a {@link ImplicitFieldSchema} to a {@link FieldSchema}.
|
|
380
|
+
* Normalizes a {@link ImplicitFieldSchema} or {@link ImplicitAnnotatedFieldSchema} to a {@link FieldSchema}.
|
|
300
381
|
*/
|
|
301
|
-
export declare function normalizeFieldSchema(schema: ImplicitFieldSchema): FieldSchemaAlpha;
|
|
382
|
+
export declare function normalizeFieldSchema(schema: ImplicitFieldSchema | ImplicitAnnotatedFieldSchema): FieldSchemaAlpha;
|
|
302
383
|
/**
|
|
303
384
|
* Normalizes a {@link ImplicitAllowedTypes} to a set of {@link TreeNodeSchema}s, by eagerly evaluating any
|
|
304
385
|
* lazy schema declarations.
|
|
@@ -309,6 +390,25 @@ export declare function normalizeFieldSchema(schema: ImplicitFieldSchema): Field
|
|
|
309
390
|
* @internal
|
|
310
391
|
*/
|
|
311
392
|
export declare function normalizeAllowedTypes(types: ImplicitAllowedTypes): ReadonlySet<TreeNodeSchema>;
|
|
393
|
+
/**
|
|
394
|
+
* Normalizes an allowed type to an {@link AnnotatedAllowedType}, by adding empty annotations if they don't already exist.
|
|
395
|
+
*/
|
|
396
|
+
export declare function normalizeToAnnotatedAllowedType<T extends TreeNodeSchema>(type: T | AnnotatedAllowedType<T>): AnnotatedAllowedType<T>;
|
|
397
|
+
/**
|
|
398
|
+
* Converts an {@link ImplicitAnnotatedAllowedTypes} to an {@link ImplicitAllowedTypes}s, by removing
|
|
399
|
+
* any annotations.
|
|
400
|
+
* @remarks
|
|
401
|
+
* This does not evaluate any lazy schemas.
|
|
402
|
+
*/
|
|
403
|
+
export declare function unannotateImplicitAllowedTypes<Types extends ImplicitAnnotatedAllowedTypes>(types: Types): UnannotateImplicitAllowedTypes<Types>;
|
|
404
|
+
/**
|
|
405
|
+
* Removes annotations from a schema record.
|
|
406
|
+
*/
|
|
407
|
+
export declare function unannotateSchemaRecord<Schema extends RestrictiveStringRecord<ImplicitAnnotatedFieldSchema>>(schemaRecord: Schema): UnannotateSchemaRecord<Schema>;
|
|
408
|
+
/**
|
|
409
|
+
* Converts annotated allowed types into a mapping between the type schema and their associated annotations.
|
|
410
|
+
*/
|
|
411
|
+
export declare function extractAnnotationsFromAllowedTypes(types: ImplicitAnnotatedAllowedTypes): ReadonlyMap<TreeNodeSchema, AllowedTypeMetadata>;
|
|
312
412
|
/**
|
|
313
413
|
* Returns true if the given {@link ImplicitFieldSchema} are equivalent, otherwise false.
|
|
314
414
|
* @remarks Two ImplicitFieldSchema are considered equivalent if all of the following are true:
|
|
@@ -390,6 +490,39 @@ export declare function markSchemaMostDerived(schema: TreeNodeSchema, oneTimeIni
|
|
|
390
490
|
* @public
|
|
391
491
|
*/
|
|
392
492
|
export type ImplicitAllowedTypes = AllowedTypes | TreeNodeSchema;
|
|
493
|
+
/**
|
|
494
|
+
* Types of {@link TreeNode|TreeNodes} or {@link TreeLeafValue|TreeLeafValues} allowed at a location in a tree with
|
|
495
|
+
* additional metadata associated with the location they're allowed at.
|
|
496
|
+
* @alpha
|
|
497
|
+
*/
|
|
498
|
+
export type ImplicitAnnotatedAllowedTypes = TreeNodeSchema | AnnotatedAllowedType | AnnotatedAllowedTypes | readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[];
|
|
499
|
+
/**
|
|
500
|
+
* Returns an {@link ImplicitAllowedTypes} that is equivalent to the input without annotations.
|
|
501
|
+
* @system @alpha
|
|
502
|
+
*/
|
|
503
|
+
export type UnannotateImplicitAllowedTypes<T extends ImplicitAnnotatedAllowedTypes> = T extends AnnotatedAllowedTypes ? UnannotateAllowedTypes<T> : T extends AnnotatedAllowedType ? UnannotateAllowedType<T> : T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[] ? UnannotateAllowedTypesList<T> : T extends TreeNodeSchema ? T : never;
|
|
504
|
+
/**
|
|
505
|
+
* Removes annotations from a list of allowed types that may contain annotations.
|
|
506
|
+
* @system @alpha
|
|
507
|
+
*/
|
|
508
|
+
export type UnannotateAllowedTypesList<T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]> = {
|
|
509
|
+
[I in keyof T]: UnannotateAllowedTypeOrLazyItem<T[I]>;
|
|
510
|
+
};
|
|
511
|
+
/**
|
|
512
|
+
* Removes annotations from an allowed type that may contain annotations.
|
|
513
|
+
* @system @alpha
|
|
514
|
+
*/
|
|
515
|
+
export type UnannotateAllowedTypeOrLazyItem<T extends AnnotatedAllowedType | LazyItem<TreeNodeSchema>> = T extends AnnotatedAllowedType<infer X> ? X : T;
|
|
516
|
+
/**
|
|
517
|
+
* Removes all annotations from a set of allowed types.
|
|
518
|
+
* @system @alpha
|
|
519
|
+
*/
|
|
520
|
+
export type UnannotateAllowedTypes<T extends AnnotatedAllowedTypes> = UnannotateAllowedTypesList<T["types"]>;
|
|
521
|
+
/**
|
|
522
|
+
* Removes annotations from an allowed type.
|
|
523
|
+
* @system @alpha
|
|
524
|
+
*/
|
|
525
|
+
export type UnannotateAllowedType<T extends AnnotatedAllowedType> = T extends AnnotatedAllowedType<infer X> ? [X] : T;
|
|
393
526
|
/**
|
|
394
527
|
* Schema for a field of a tree node.
|
|
395
528
|
* @remarks
|
|
@@ -397,6 +530,23 @@ export type ImplicitAllowedTypes = AllowedTypes | TreeNodeSchema;
|
|
|
397
530
|
* @public
|
|
398
531
|
*/
|
|
399
532
|
export type ImplicitFieldSchema = FieldSchema | ImplicitAllowedTypes;
|
|
533
|
+
/**
|
|
534
|
+
* Annotated schema for a field of a tree node.
|
|
535
|
+
* @alpha
|
|
536
|
+
*/
|
|
537
|
+
export type ImplicitAnnotatedFieldSchema = FieldSchema | ImplicitAnnotatedAllowedTypes;
|
|
538
|
+
/**
|
|
539
|
+
* Removes annotations from an annotated field schema.
|
|
540
|
+
* @system @alpha
|
|
541
|
+
*/
|
|
542
|
+
export type UnannotateImplicitFieldSchema<T extends ImplicitAnnotatedFieldSchema> = T extends ImplicitAnnotatedAllowedTypes ? UnannotateImplicitAllowedTypes<T> : T;
|
|
543
|
+
/**
|
|
544
|
+
* Removes annotations from field schemas in a schema record.
|
|
545
|
+
* @system @alpha
|
|
546
|
+
*/
|
|
547
|
+
export type UnannotateSchemaRecord<T extends RestrictiveStringRecord<ImplicitAnnotatedFieldSchema>> = {
|
|
548
|
+
readonly [P in Extract<keyof T, string>]: UnannotateImplicitFieldSchema<T[P]>;
|
|
549
|
+
};
|
|
400
550
|
/**
|
|
401
551
|
* Converts an `ImplicitFieldSchema` to a property type suitable for reading a field with this that schema.
|
|
402
552
|
*
|
|
@@ -576,14 +726,14 @@ export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitA
|
|
|
576
726
|
* @see {@link Input}
|
|
577
727
|
*
|
|
578
728
|
* @typeparam TList - AllowedTypes to process
|
|
729
|
+
*
|
|
730
|
+
* @privateRemarks
|
|
731
|
+
* This loop is manually unrolled to allow larger unions before hitting the recursion limit in TypeScript.
|
|
579
732
|
* @system @public
|
|
580
733
|
*/
|
|
581
|
-
export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> =
|
|
582
|
-
readonly [
|
|
583
|
-
|
|
584
|
-
...infer Rest extends AllowedTypes
|
|
585
|
-
]
|
|
586
|
-
] ? InsertableTypedNode<TSchema> | InsertableTreeNodeFromAllowedTypes<Rest> : never;
|
|
734
|
+
export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> = IsUnion<TList> extends true ? never : {
|
|
735
|
+
readonly [Property in keyof TList]: TList[Property] extends LazyItem<infer TSchema extends TreeNodeSchema> ? InsertableTypedNode<TSchema> : never;
|
|
736
|
+
}[number];
|
|
587
737
|
/**
|
|
588
738
|
* Takes in `TreeNodeSchema[]` and returns a TypedNode union.
|
|
589
739
|
* @privateRemarks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaTypes.d.ts","sourceRoot":"","sources":["../../src/simple-tree/schemaTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemaTypes.d.ts","sourceRoot":"","sources":["../../src/simple-tree/schemaTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,18 @@ import { TreeNodeValid } from "./treeNodeValid.js";
|
|
|
16
16
|
export function isTreeNodeSchemaClass(schema) {
|
|
17
17
|
return schema.constructor !== undefined;
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Checks if the input is an {@link AnnotatedAllowedTypes}.
|
|
21
|
+
*/
|
|
22
|
+
export function isAnnotatedAllowedTypes(allowedTypes) {
|
|
23
|
+
return (typeof allowedTypes === "object" && "metadata" in allowedTypes && "types" in allowedTypes);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Checks if the given allowed type is annotated with {@link AllowedTypeMetadata}.
|
|
27
|
+
*/
|
|
28
|
+
export function isAnnotatedAllowedType(allowedType) {
|
|
29
|
+
return "metadata" in allowedType && "type" in allowedType;
|
|
30
|
+
}
|
|
19
31
|
/**
|
|
20
32
|
* Kind of a field on an {@link TreeObjectNode}.
|
|
21
33
|
* @remarks
|
|
@@ -76,10 +88,13 @@ export function extractFieldProvider(input) {
|
|
|
76
88
|
export function getDefaultProvider(input) {
|
|
77
89
|
return input;
|
|
78
90
|
}
|
|
91
|
+
export function createFieldSchema(kind, annotatedTypes, props) {
|
|
92
|
+
return createFieldSchemaPrivate(kind, annotatedTypes, props);
|
|
93
|
+
}
|
|
79
94
|
/**
|
|
80
|
-
*
|
|
95
|
+
* Implementation for {@link createFieldSchema}
|
|
81
96
|
*/
|
|
82
|
-
|
|
97
|
+
let createFieldSchemaPrivate;
|
|
83
98
|
/**
|
|
84
99
|
* All policy for a specific field,
|
|
85
100
|
* including functionality that does not have to be kept consistent across versions or deterministic.
|
|
@@ -149,28 +164,40 @@ export class FieldSchema {
|
|
|
149
164
|
* @sealed @alpha
|
|
150
165
|
*/
|
|
151
166
|
export class FieldSchemaAlpha extends FieldSchema {
|
|
152
|
-
constructor(kind,
|
|
153
|
-
super(kind,
|
|
167
|
+
constructor(kind, types, annotatedAllowedTypes, props) {
|
|
168
|
+
super(kind, types, props);
|
|
169
|
+
this.annotatedAllowedTypes = annotatedAllowedTypes;
|
|
170
|
+
this.allowedTypesMetadata = isAnnotatedAllowedTypes(annotatedAllowedTypes)
|
|
171
|
+
? annotatedAllowedTypes.metadata
|
|
172
|
+
: {};
|
|
173
|
+
this.lazyAnnotatedTypes = new Lazy(() => extractAnnotationsFromAllowedTypes(this.annotatedAllowedTypes));
|
|
154
174
|
this.lazyIdentifiers = new Lazy(() => new Set([...this.allowedTypeSet].map((t) => t.identifier)));
|
|
155
175
|
}
|
|
156
176
|
get allowedTypesIdentifiers() {
|
|
157
177
|
return this.lazyIdentifiers.value;
|
|
158
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* What types of tree nodes are allowed in this field and their annotations.
|
|
181
|
+
* @remarks Counterpart to {@link FieldSchemaAlpha.annotatedAllowedTypes}, with any lazy definitions evaluated.
|
|
182
|
+
*/
|
|
183
|
+
get annotatedAllowedTypeSet() {
|
|
184
|
+
return this.lazyAnnotatedTypes.value;
|
|
185
|
+
}
|
|
159
186
|
}
|
|
160
187
|
(() => {
|
|
161
|
-
|
|
188
|
+
createFieldSchemaPrivate = (kind, annotatedAllowedTypes, props) => new FieldSchemaAlpha(kind, unannotateImplicitAllowedTypes(annotatedAllowedTypes), annotatedAllowedTypes, props);
|
|
162
189
|
})();
|
|
163
190
|
/**
|
|
164
191
|
* {@link FieldSchemaAlpha} including {@link SimpleObjectFieldSchema}.
|
|
165
192
|
*/
|
|
166
193
|
export class ObjectFieldSchema extends FieldSchemaAlpha {
|
|
167
|
-
constructor(kind, allowedTypes, props) {
|
|
168
|
-
super(kind, allowedTypes, props);
|
|
194
|
+
constructor(kind, allowedTypes, annotatedTypes, props) {
|
|
195
|
+
super(kind, allowedTypes, annotatedTypes, props);
|
|
169
196
|
this.storedKey = props.key;
|
|
170
197
|
}
|
|
171
198
|
}
|
|
172
199
|
/**
|
|
173
|
-
* Normalizes a {@link ImplicitFieldSchema} to a {@link FieldSchema}.
|
|
200
|
+
* Normalizes a {@link ImplicitFieldSchema} or {@link ImplicitAnnotatedFieldSchema} to a {@link FieldSchema}.
|
|
174
201
|
*/
|
|
175
202
|
export function normalizeFieldSchema(schema) {
|
|
176
203
|
return schema instanceof FieldSchema
|
|
@@ -200,6 +227,67 @@ export function normalizeAllowedTypes(types) {
|
|
|
200
227
|
}
|
|
201
228
|
return normalized;
|
|
202
229
|
}
|
|
230
|
+
/**
|
|
231
|
+
* Normalizes an allowed type to an {@link AnnotatedAllowedType}, by adding empty annotations if they don't already exist.
|
|
232
|
+
*/
|
|
233
|
+
export function normalizeToAnnotatedAllowedType(type) {
|
|
234
|
+
return isAnnotatedAllowedType(type)
|
|
235
|
+
? type
|
|
236
|
+
: {
|
|
237
|
+
metadata: {},
|
|
238
|
+
type,
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Converts an {@link ImplicitAnnotatedAllowedTypes} to an {@link ImplicitAllowedTypes}s, by removing
|
|
243
|
+
* any annotations.
|
|
244
|
+
* @remarks
|
|
245
|
+
* This does not evaluate any lazy schemas.
|
|
246
|
+
*/
|
|
247
|
+
export function unannotateImplicitAllowedTypes(types) {
|
|
248
|
+
return (isAnnotatedAllowedTypes(types)
|
|
249
|
+
? types.types.map((allowedType) => isAnnotatedAllowedType(allowedType) ? allowedType.type : allowedType)
|
|
250
|
+
: isReadonlyArray(types)
|
|
251
|
+
? types.map((allowedType) => isAnnotatedAllowedType(allowedType) ? allowedType.type : allowedType)
|
|
252
|
+
: isAnnotatedAllowedType(types)
|
|
253
|
+
? types.type
|
|
254
|
+
: types);
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Removes annotations from a schema record.
|
|
258
|
+
*/
|
|
259
|
+
export function unannotateSchemaRecord(schemaRecord) {
|
|
260
|
+
return Object.fromEntries(Object.entries(schemaRecord).map(([key, schema]) => [
|
|
261
|
+
key,
|
|
262
|
+
schema instanceof FieldSchema ? schema : unannotateImplicitAllowedTypes(schema),
|
|
263
|
+
]));
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Converts annotated allowed types into a mapping between the type schema and their associated annotations.
|
|
267
|
+
*/
|
|
268
|
+
export function extractAnnotationsFromAllowedTypes(types) {
|
|
269
|
+
const typesWithoutAnnotation = isAnnotatedAllowedTypes(types) ? types.types : types;
|
|
270
|
+
const annotations = new Map();
|
|
271
|
+
if (isReadonlyArray(typesWithoutAnnotation)) {
|
|
272
|
+
for (const annotatedType of typesWithoutAnnotation) {
|
|
273
|
+
if (isAnnotatedAllowedType(annotatedType)) {
|
|
274
|
+
annotations.set(evaluateLazySchema(annotatedType.type), annotatedType.metadata);
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
annotations.set(evaluateLazySchema(annotatedType), {});
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
if (isAnnotatedAllowedType(typesWithoutAnnotation)) {
|
|
283
|
+
annotations.set(evaluateLazySchema(typesWithoutAnnotation.type), typesWithoutAnnotation.metadata);
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
annotations.set(evaluateLazySchema(typesWithoutAnnotation), {});
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
return annotations;
|
|
290
|
+
}
|
|
203
291
|
/**
|
|
204
292
|
* Returns true if the given {@link ImplicitFieldSchema} are equivalent, otherwise false.
|
|
205
293
|
* @remarks Two ImplicitFieldSchema are considered equivalent if all of the following are true:
|