-
-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathindex.ts
More file actions
65 lines (56 loc) · 1.58 KB
/
index.ts
File metadata and controls
65 lines (56 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import type { AppBskyFeedGetTimeline } from '@tsky/lexicons';
import { Actor } from '~/bsky/actor';
import type { RPCOptions } from '~/types';
import { Paginator } from '~/utils';
import { Mute } from './mute';
import { Muted } from './muted';
import { Preferences } from './preferences';
import { Suggestion } from './suggestion';
import { Unmute } from './unmute';
export class User extends Actor {
get preferences() {
return new Preferences(this.client);
}
/**
* Get a view of the requesting account's home timeline. This is expected to be some form of reverse-chronological feed.
*/
timeline(
params: AppBskyFeedGetTimeline.Params,
options?: AppBskyFeedGetTimeline.Input,
): Promise<Paginator<AppBskyFeedGetTimeline.Output>> {
return Paginator.init(async (cursor) => {
const res = await this.client.get('app.bsky.feed.getTimeline', {
...(options ?? {}),
params: {
cursor,
...params,
},
});
return res.data;
});
}
/**
* Get a list of posts liked by the current user
*/
likes(limit?: number, options: RPCOptions = {}) {
return Paginator.init(async (cursor) => {
const res = await this.client.get('app.bsky.feed.getActorLikes', {
params: { cursor, actor: this.identifier, limit },
...options,
});
return res.data;
});
}
get muted() {
return new Muted(this.client);
}
get suggestion() {
return new Suggestion(this.client);
}
get mute() {
return new Mute(this.client);
}
get unmute() {
return new Unmute(this.client);
}
}