Skip to content

Commit c53b6cd

Browse files
committed
Add RFC 6570 on dispatchers' paths
1 parent d08cc46 commit c53b6cd

1 file changed

Lines changed: 27 additions & 9 deletions

File tree

packages/fedify/src/federation/federation.ts

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,9 @@ export interface Federatable<TContextData> {
113113
* @throws {RouterError} Thrown if the path pattern is invalid.
114114
*/
115115
setActorDispatcher(
116-
path: `${string}{identifier}${string}` | `${string}{handle}${string}`,
116+
path:
117+
| `${string}${Rfc6570Expression<"identifier">}${string}`
118+
| `${string}${Rfc6570Expression<"handle">}${string}`,
117119
dispatcher: ActorDispatcher<TContextData>,
118120
): ActorCallbackSetters<TContextData>;
119121

@@ -256,7 +258,9 @@ export interface Federatable<TContextData> {
256258
* @throws {@link RouterError} Thrown if the path pattern is invalid.
257259
*/
258260
setInboxDispatcher(
259-
path: `${string}{identifier}${string}` | `${string}{handle}${string}`,
261+
path:
262+
| `${string}${Rfc6570Expression<"identifier">}${string}`
263+
| `${string}${Rfc6570Expression<"handle">}${string}`,
260264
dispatcher: CollectionDispatcher<
261265
Activity,
262266
RequestContext<TContextData>,
@@ -293,7 +297,9 @@ export interface Federatable<TContextData> {
293297
* @throws {@link RouterError} Thrown if the path pattern is invalid.
294298
*/
295299
setOutboxDispatcher(
296-
path: `${string}{identifier}${string}` | `${string}{handle}${string}`,
300+
path:
301+
| `${string}${Rfc6570Expression<"identifier">}${string}`
302+
| `${string}${Rfc6570Expression<"handle">}${string}`,
297303
dispatcher: CollectionDispatcher<
298304
Activity,
299305
RequestContext<TContextData>,
@@ -318,7 +324,9 @@ export interface Federatable<TContextData> {
318324
* @throws {RouterError} Thrown if the path pattern is invalid.
319325
*/
320326
setFollowingDispatcher(
321-
path: `${string}{identifier}${string}` | `${string}{handle}${string}`,
327+
path:
328+
| `${string}${Rfc6570Expression<"identifier">}${string}`
329+
| `${string}${Rfc6570Expression<"handle">}${string}`,
322330
dispatcher: CollectionDispatcher<
323331
Actor | URL,
324332
RequestContext<TContextData>,
@@ -343,7 +351,9 @@ export interface Federatable<TContextData> {
343351
* @throws {@link RouterError} Thrown if the path pattern is invalid.
344352
*/
345353
setFollowersDispatcher(
346-
path: `${string}{identifier}${string}` | `${string}{handle}${string}`,
354+
path:
355+
| `${string}${Rfc6570Expression<"identifier">}${string}`
356+
| `${string}${Rfc6570Expression<"handle">}${string}`,
347357
dispatcher: CollectionDispatcher<
348358
Recipient,
349359
Context<TContextData>,
@@ -364,7 +374,9 @@ export interface Federatable<TContextData> {
364374
* @throws {@link RouterError} Thrown if the path pattern is invalid.
365375
*/
366376
setLikedDispatcher(
367-
path: `${string}{identifier}${string}` | `${string}{handle}${string}`,
377+
path:
378+
| `${string}${Rfc6570Expression<"identifier">}${string}`
379+
| `${string}${Rfc6570Expression<"handle">}${string}`,
368380
dispatcher: CollectionDispatcher<
369381
Object | URL,
370382
RequestContext<TContextData>,
@@ -389,7 +401,9 @@ export interface Federatable<TContextData> {
389401
* @throws {@link RouterError} Thrown if the path pattern is invalid.
390402
*/
391403
setFeaturedDispatcher(
392-
path: `${string}{identifier}${string}` | `${string}{handle}${string}`,
404+
path:
405+
| `${string}${Rfc6570Expression<"identifier">}${string}`
406+
| `${string}${Rfc6570Expression<"handle">}${string}`,
393407
dispatcher: CollectionDispatcher<
394408
Object,
395409
RequestContext<TContextData>,
@@ -414,7 +428,9 @@ export interface Federatable<TContextData> {
414428
* @throws {@link RouterError} Thrown if the path pattern is invalid.
415429
*/
416430
setFeaturedTagsDispatcher(
417-
path: `${string}{identifier}${string}` | `${string}{handle}${string}`,
431+
path:
432+
| `${string}${Rfc6570Expression<"identifier">}${string}`
433+
| `${string}${Rfc6570Expression<"handle">}${string}`,
418434
dispatcher: CollectionDispatcher<
419435
Hashtag,
420436
RequestContext<TContextData>,
@@ -457,7 +473,9 @@ export interface Federatable<TContextData> {
457473
* @throws {RouteError} Thrown if the path pattern is invalid.
458474
*/
459475
setInboxListeners(
460-
inboxPath: `${string}{identifier}${string}` | `${string}{handle}${string}`,
476+
inboxPath:
477+
| `${string}${Rfc6570Expression<"identifier">}${string}`
478+
| `${string}${Rfc6570Expression<"handle">}${string}`,
461479
sharedInboxPath?: string,
462480
): InboxListenerSetters<TContextData>;
463481

0 commit comments

Comments
 (0)