Files
AFFiNE-Mirror/blocksuite/affine/shared/src/services/quick-search-service.ts
T
2025-01-06 15:15:14 +00:00

32 lines
728 B
TypeScript

import type { ReferenceParams } from '@blocksuite/affine-model';
import { createIdentifier } from '@blocksuite/global/di';
import type { ExtensionType } from '@blocksuite/store';
export interface QuickSearchService {
openQuickSearch: () => Promise<QuickSearchResult>;
}
export type QuickSearchResult =
| {
docId: string;
params?: ReferenceParams;
}
| {
externalUrl: string;
}
| null;
export const QuickSearchProvider = createIdentifier<QuickSearchService>(
'AffineQuickSearchService'
);
export function QuickSearchExtension(
quickSearchService: QuickSearchService
): ExtensionType {
return {
setup: di => {
di.addImpl(QuickSearchProvider, quickSearchService);
},
};
}