@@ -71,56 +71,83 @@ export async function register(name: string, script: string): Promise<void> {
71
71
}
72
72
}
73
73
74
- export function getSource ( expr : string , conf : Config ) : Source {
75
- const [ name ] = expr . split ( ":" , 1 ) ;
76
- const mod = registry . source . get ( name ) ;
77
- if ( ! mod ) {
78
- throw new Error ( `No source '${ name } ' is registered` ) ;
74
+ export function getSource ( expr : string , conf : Config ) : Source | undefined {
75
+ try {
76
+ const [ name ] = expr . split ( ":" , 1 ) ;
77
+ const mod = registry . source . get ( name ) ;
78
+ if ( ! mod ) {
79
+ throw new Error ( `No source '${ name } ' is registered` ) ;
80
+ }
81
+ return mod . getSource ( config . getSourceOptions ( expr , conf ) ) ;
82
+ } catch ( err ) {
83
+ console . error ( `[fall] ${ err . message ?? err } ` ) ;
79
84
}
80
- return mod . getSource ( config . getSourceOptions ( expr , conf ) ) ;
81
85
}
82
86
83
- export function getFilter ( expr : string , conf : Config ) : Filter {
84
- const [ name ] = expr . split ( ":" , 1 ) ;
85
- const mod = registry . filter . get ( name ) ;
86
- if ( ! mod ) {
87
- throw new Error ( `No filter '${ name } ' is registered` ) ;
87
+ export function getFilter ( expr : string , conf : Config ) : Filter | undefined {
88
+ try {
89
+ const [ name ] = expr . split ( ":" , 1 ) ;
90
+ const mod = registry . filter . get ( name ) ;
91
+ if ( ! mod ) {
92
+ throw new Error ( `No filter '${ name } ' is registered` ) ;
93
+ }
94
+ return mod . getFilter ( config . getFilterOptions ( expr , conf ) ) ;
95
+ } catch ( err ) {
96
+ console . warn ( `[fall] ${ err . message ?? err } ` ) ;
88
97
}
89
- return mod . getFilter ( config . getFilterOptions ( expr , conf ) ) ;
90
98
}
91
99
92
- export function getSorter ( expr : string , conf : Config ) : Sorter {
93
- const [ name ] = expr . split ( ":" , 1 ) ;
94
- const mod = registry . sorter . get ( name ) ;
95
- if ( ! mod ) {
96
- throw new Error ( `No sorter '${ name } ' is registered` ) ;
100
+ export function getSorter ( expr : string , conf : Config ) : Sorter | undefined {
101
+ try {
102
+ const [ name ] = expr . split ( ":" , 1 ) ;
103
+ const mod = registry . sorter . get ( name ) ;
104
+ if ( ! mod ) {
105
+ throw new Error ( `No sorter '${ name } ' is registered` ) ;
106
+ }
107
+ return mod . getSorter ( config . getSorterOptions ( expr , conf ) ) ;
108
+ } catch ( err ) {
109
+ console . warn ( `[fall] ${ err . message ?? err } ` ) ;
97
110
}
98
- return mod . getSorter ( config . getSorterOptions ( expr , conf ) ) ;
99
111
}
100
112
101
- export function getRenderer ( expr : string , conf : Config ) : Renderer {
102
- const [ name ] = expr . split ( ":" , 1 ) ;
103
- const mod = registry . renderer . get ( name ) ;
104
- if ( ! mod ) {
105
- throw new Error ( `No renderer '${ name } ' is registered` ) ;
113
+ export function getRenderer ( expr : string , conf : Config ) : Renderer | undefined {
114
+ try {
115
+ const [ name ] = expr . split ( ":" , 1 ) ;
116
+ const mod = registry . renderer . get ( name ) ;
117
+ if ( ! mod ) {
118
+ throw new Error ( `No renderer '${ name } ' is registered` ) ;
119
+ }
120
+ return mod . getRenderer ( config . getRendererOptions ( expr , conf ) ) ;
121
+ } catch ( err ) {
122
+ console . warn ( `[fall] ${ err . message ?? err } ` ) ;
106
123
}
107
- return mod . getRenderer ( config . getRendererOptions ( expr , conf ) ) ;
108
124
}
109
125
110
- export function getPreviewer ( expr : string , conf : Config ) : Previewer {
111
- const [ name ] = expr . split ( ":" , 1 ) ;
112
- const mod = registry . previewer . get ( name ) ;
113
- if ( ! mod ) {
114
- throw new Error ( `No previewer '${ name } ' is registered` ) ;
126
+ export function getPreviewer (
127
+ expr : string ,
128
+ conf : Config ,
129
+ ) : Previewer | undefined {
130
+ try {
131
+ const [ name ] = expr . split ( ":" , 1 ) ;
132
+ const mod = registry . previewer . get ( name ) ;
133
+ if ( ! mod ) {
134
+ throw new Error ( `No previewer '${ name } ' is registered` ) ;
135
+ }
136
+ return mod . getPreviewer ( config . getPreviewerOptions ( expr , conf ) ) ;
137
+ } catch ( err ) {
138
+ console . warn ( `[fall] ${ err . message ?? err } ` ) ;
115
139
}
116
- return mod . getPreviewer ( config . getPreviewerOptions ( expr , conf ) ) ;
117
140
}
118
141
119
- export function getAction ( expr : string , conf : Config ) : Action {
120
- const [ name ] = expr . split ( ":" , 1 ) ;
121
- const mod = registry . action . get ( name ) ;
122
- if ( ! mod ) {
123
- throw new Error ( `No action '${ name } ' is registered` ) ;
142
+ export function getAction ( expr : string , conf : Config ) : Action | undefined {
143
+ try {
144
+ const [ name ] = expr . split ( ":" , 1 ) ;
145
+ const mod = registry . action . get ( name ) ;
146
+ if ( ! mod ) {
147
+ throw new Error ( `No action '${ name } ' is registered` ) ;
148
+ }
149
+ return mod . getAction ( config . getActionOptions ( expr , conf ) ) ;
150
+ } catch ( err ) {
151
+ console . warn ( `[fall] ${ err . message ?? err } ` ) ;
124
152
}
125
- return mod . getAction ( config . getActionOptions ( expr , conf ) ) ;
126
153
}
0 commit comments