@@ -9,7 +9,11 @@ import type { Sorter } from "./sorter.ts";
99import type { Renderer } from "./renderer.ts" ;
1010import type { Previewer } from "./previewer.ts" ;
1111import type { Action } from "./action.ts" ;
12- import type { Derivable , DerivableMap } from "./util/derivable.ts" ;
12+ import type {
13+ Derivable ,
14+ DerivableArray ,
15+ DerivableMap ,
16+ } from "./util/derivable.ts" ;
1317
1418export type Actions < T , A extends string > =
1519 & Record < string , Action < T > >
@@ -18,21 +22,21 @@ export type Actions<T, A extends string> =
1822export type ItemPickerParams < T , A extends string > = {
1923 name : string ;
2024 source : Source < T > ;
21- matcher : Matcher < NoInfer < T > > ;
2225 actions : Actions < T , NoInfer < A > > ;
2326 defaultAction : A ;
24- sorter ?: Sorter < NoInfer < T > > ;
25- renderer ?: Renderer < NoInfer < T > > ;
26- previewer ?: Previewer < NoInfer < T > > ;
27+ matchers : [ Matcher < NoInfer < T > > , ...Matcher < NoInfer < T > > [ ] ] ;
28+ sorters ?: Sorter < NoInfer < T > > [ ] ;
29+ renderers ?: Renderer < NoInfer < T > > [ ] ;
30+ previewers ?: Previewer < NoInfer < T > > [ ] ;
2731 coordinator ?: Coordinator ;
2832 theme ?: Theme ;
2933} ;
3034
3135export type ActionPickerParams = {
32- matcher : Matcher < Action < unknown > > ;
33- sorter ?: Sorter < Action < unknown > > ;
34- renderer ?: Renderer < Action < unknown > > ;
35- previewer ?: Previewer < Action < unknown > > ;
36+ matchers : [ Matcher < Action < unknown > > , ... Matcher < Action < unknown > > [ ] ] ;
37+ sorters ?: Sorter < Action < unknown > > [ ] ;
38+ renderers ?: Renderer < Action < unknown > > [ ] ;
39+ previewers ?: Previewer < Action < unknown > > [ ] ;
3640 coordinator ?: Coordinator ;
3741 theme ?: Theme ;
3842} ;
@@ -49,12 +53,12 @@ export type DefineItemPickerFromSource = <T, A extends string>(
4953 name : string ,
5054 source : Derivable < Source < T > > ,
5155 params : {
52- matcher : Derivable < Matcher < NoInfer < T > > > ;
5356 actions : DerivableMap < Actions < NoInfer < T > , NoInfer < A > > > ;
5457 defaultAction : A ;
55- sorter ?: Derivable < Sorter < NoInfer < T > > > ;
56- renderer ?: Derivable < Renderer < NoInfer < T > > > ;
57- previewer ?: Derivable < Previewer < NoInfer < T > > > ;
58+ matchers : DerivableArray < [ Matcher < NoInfer < T > > , ...Matcher < NoInfer < T > > [ ] ] > ;
59+ sorters ?: DerivableArray < Sorter < NoInfer < T > > [ ] > ;
60+ renderers ?: DerivableArray < Renderer < NoInfer < T > > [ ] > ;
61+ previewers ?: DerivableArray < Previewer < NoInfer < T > > [ ] > ;
5862 coordinator ?: Derivable < Coordinator > ;
5963 theme ?: Derivable < Theme > ;
6064 } ,
@@ -69,9 +73,9 @@ export type DefineItemPickerFromCurator = <T, A extends string>(
6973 params : {
7074 actions : DerivableMap < Actions < NoInfer < T > , NoInfer < A > > > ;
7175 defaultAction : A ;
72- sorter ?: Derivable < Sorter < NoInfer < T > > > ;
73- renderer ?: Derivable < Renderer < NoInfer < T > > > ;
74- previewer ?: Derivable < Previewer < NoInfer < T > > > ;
76+ sorters ?: DerivableArray < Sorter < NoInfer < T > > [ ] > ;
77+ renderers ?: DerivableArray < Renderer < NoInfer < T > > [ ] > ;
78+ previewers ?: DerivableArray < Previewer < NoInfer < T > > [ ] > ;
7579 coordinator ?: Derivable < Coordinator > ;
7680 theme ?: Derivable < Theme > ;
7781 } ,
@@ -82,10 +86,12 @@ export type DefineItemPickerFromCurator = <T, A extends string>(
8286 */
8387export type RefineActionPicker = (
8488 params : {
85- matcher ?: Derivable < Matcher < Action < unknown > > > ;
86- sorter ?: Derivable < Sorter < Action < unknown > > > ;
87- renderer ?: Derivable < Renderer < Action < unknown > > > ;
88- previewer ?: Derivable < Previewer < Action < unknown > > > ;
89+ matchers : DerivableArray <
90+ [ Matcher < Action < unknown > > , ...Matcher < Action < unknown > > [ ] ]
91+ > ;
92+ sorters ?: DerivableArray < Sorter < Action < unknown > > [ ] > ;
93+ renderers ?: DerivableArray < Renderer < Action < unknown > > [ ] > ;
94+ previewers ?: DerivableArray < Previewer < Action < unknown > > [ ] > ;
8995 coordinator ?: Derivable < Coordinator > ;
9096 theme ?: Derivable < Theme > ;
9197 } ,
0 commit comments