File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change
1
+ type notUndefined = boolean | number | string | object | null | notUndefined [ ]
2
+ export type Resolver < Schema > = (
3
+ values : Schema [ ] ,
4
+ path : string [ ] ,
5
+ mergeSchemas : ( schemas : Schema [ ] ) => Schema ,
6
+ options : MergerOptions
7
+ ) => notUndefined
8
+
9
+ type PropertiesMerger < Schema > = {
10
+ properties : Resolver < Schema >
11
+ patternProperties : Resolver < Schema >
12
+ additionalProperties : Resolver < Schema >
13
+ }
14
+ type ItemsMerger < Schema > = {
15
+ items : Resolver < Schema >
16
+ additionalItems : Resolver < Schema >
17
+ }
18
+ export type CombinedResolver < Schema , Mergers > = (
19
+ values : Schema [ ] ,
20
+ path : string [ ] ,
21
+ mergers : Mergers ,
22
+ options : MergerOptions
23
+ ) => notUndefined
24
+ export interface Resolvers < Schema > {
25
+ [ key : string ] : Resolver < Schema >
26
+ properties ?: CombinedResolver < Schema , PropertiesMerger >
27
+ items ?: CombinedResolver < Schema , ItemsMerger >
28
+ defaultResolver ?: Resolver < Schema >
29
+ }
30
+
31
+ export interface MergerOptions < Schema > {
32
+ /**
33
+ * @default false
34
+ */
35
+ ignoreAdditionalProperties ?: boolean
36
+ resolvers ?: Resolvers < Schema >
37
+ /**
38
+ * @default true
39
+ */
40
+ deep ?: boolean
41
+ }
42
+
43
+ declare function merger < Schema > (
44
+ rootSchema : Schema ,
45
+ options ?: MergerOptions < Schema >
46
+ ) : Schema
47
+
48
+ export = merger
You can’t perform that action at this time.
0 commit comments