mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-20 19:46:32 +08:00
32 lines
728 B
TypeScript
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);
|
|
},
|
|
};
|
|
}
|