mirror of
https://github.com/aljazceru/ditto.git
synced 2026-01-21 22:34:24 +01:00
refactor: make getPubkeysBySearch() function return Set<string>
This commit is contained in:
@@ -11,11 +11,17 @@ Deno.test('fuzzy search works', async () => {
|
||||
search: 'patrickReiis patrickdosreis.com',
|
||||
}).execute();
|
||||
|
||||
assertEquals(await getPubkeysBySearch(db.kysely, { q: 'pat rick', limit: 1, followedPubkeys: new Set() }), []);
|
||||
assertEquals(await getPubkeysBySearch(db.kysely, { q: 'patrick dos reis', limit: 1, followedPubkeys: new Set() }), [
|
||||
'47259076c85f9240e852420d7213c95e95102f1de929fb60f33a2c32570c98c4',
|
||||
]);
|
||||
assertEquals(await getPubkeysBySearch(db.kysely, { q: 'dosreis.com', limit: 1, followedPubkeys: new Set() }), [
|
||||
'47259076c85f9240e852420d7213c95e95102f1de929fb60f33a2c32570c98c4',
|
||||
]);
|
||||
assertEquals(await getPubkeysBySearch(db.kysely, { q: 'pat rick', limit: 1, followedPubkeys: new Set() }), new Set());
|
||||
assertEquals(
|
||||
await getPubkeysBySearch(db.kysely, { q: 'patrick dos reis', limit: 1, followedPubkeys: new Set() }),
|
||||
new Set([
|
||||
'47259076c85f9240e852420d7213c95e95102f1de929fb60f33a2c32570c98c4',
|
||||
]),
|
||||
);
|
||||
assertEquals(
|
||||
await getPubkeysBySearch(db.kysely, { q: 'dosreis.com', limit: 1, followedPubkeys: new Set() }),
|
||||
new Set([
|
||||
'47259076c85f9240e852420d7213c95e95102f1de929fb60f33a2c32570c98c4',
|
||||
]),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -6,7 +6,7 @@ import { DittoTables } from '@/db/DittoTables.ts';
|
||||
export async function getPubkeysBySearch(
|
||||
kysely: Kysely<DittoTables>,
|
||||
opts: { q: string; limit: number; followedPubkeys: Set<string> },
|
||||
) {
|
||||
): Promise<Set<string>> {
|
||||
const { q, limit, followedPubkeys } = opts;
|
||||
|
||||
let query = kysely
|
||||
@@ -28,5 +28,5 @@ export async function getPubkeysBySearch(
|
||||
|
||||
const followingPubkeys = new Set((await query.execute()).map(({ pubkey }) => pubkey));
|
||||
|
||||
return Array.from(followingPubkeys.union(pubkeys));
|
||||
return new Set(Array.from(followingPubkeys.union(pubkeys)).slice(0, limit));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user