@fedify/botkit 0.3.0-dev.108
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/README.md +75 -0
- package/dist/bot-impl.d.ts +111 -0
- package/dist/bot-impl.d.ts.map +1 -0
- package/dist/bot-impl.js +602 -0
- package/dist/bot-impl.js.map +1 -0
- package/dist/bot-impl.test.d.ts +2 -0
- package/dist/bot-impl.test.js +1642 -0
- package/dist/bot-impl.test.js.map +1 -0
- package/dist/bot.d.ts +270 -0
- package/dist/bot.d.ts.map +1 -0
- package/dist/bot.js +118 -0
- package/dist/bot.js.map +1 -0
- package/dist/bot.test.d.ts +2 -0
- package/dist/bot.test.js +80 -0
- package/dist/bot.test.js.map +1 -0
- package/dist/components/Layout.d.ts +26 -0
- package/dist/components/Layout.d.ts.map +1 -0
- package/dist/components/Layout.js +36 -0
- package/dist/components/Layout.js.map +1 -0
- package/dist/components/Message.d.ts +21 -0
- package/dist/components/Message.d.ts.map +1 -0
- package/dist/components/Message.js +99 -0
- package/dist/components/Message.js.map +1 -0
- package/dist/components/Message.test.d.ts +2 -0
- package/dist/components/Message.test.js +32 -0
- package/dist/components/Message.test.js.map +1 -0
- package/dist/deno.js +73 -0
- package/dist/deno.js.map +1 -0
- package/dist/emoji.d.ts +87 -0
- package/dist/emoji.d.ts.map +1 -0
- package/dist/emoji.js +37 -0
- package/dist/emoji.js.map +1 -0
- package/dist/emoji.test.d.ts +2 -0
- package/dist/emoji.test.js +109 -0
- package/dist/emoji.test.js.map +1 -0
- package/dist/events.d.ts +110 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +4 -0
- package/dist/follow-impl.d.ts +23 -0
- package/dist/follow-impl.d.ts.map +1 -0
- package/dist/follow-impl.js +51 -0
- package/dist/follow-impl.js.map +1 -0
- package/dist/follow-impl.test.d.ts +2 -0
- package/dist/follow-impl.test.js +110 -0
- package/dist/follow-impl.test.js.map +1 -0
- package/dist/follow.d.ts +44 -0
- package/dist/follow.d.ts.map +1 -0
- package/dist/follow.js +4 -0
- package/dist/message-impl.d.ts +54 -0
- package/dist/message-impl.d.ts.map +1 -0
- package/dist/message-impl.js +439 -0
- package/dist/message-impl.js.map +1 -0
- package/dist/message-impl.test.d.ts +2 -0
- package/dist/message-impl.test.js +519 -0
- package/dist/message-impl.test.js.map +1 -0
- package/dist/message.d.ts +223 -0
- package/dist/message.d.ts.map +1 -0
- package/dist/message.js +8 -0
- package/dist/mod.d.ts +13 -0
- package/dist/mod.js +13 -0
- package/dist/pages.d.ts +20 -0
- package/dist/pages.d.ts.map +1 -0
- package/dist/pages.js +361 -0
- package/dist/pages.js.map +1 -0
- package/dist/reaction.d.ts +90 -0
- package/dist/reaction.d.ts.map +1 -0
- package/dist/reaction.js +7 -0
- package/dist/repository.d.ts +323 -0
- package/dist/repository.d.ts.map +1 -0
- package/dist/repository.js +483 -0
- package/dist/repository.js.map +1 -0
- package/dist/repository.test.d.ts +2 -0
- package/dist/repository.test.js +336 -0
- package/dist/repository.test.js.map +1 -0
- package/dist/session-impl.d.ts +32 -0
- package/dist/session-impl.d.ts.map +1 -0
- package/dist/session-impl.js +195 -0
- package/dist/session-impl.js.map +1 -0
- package/dist/session-impl.test.d.ts +20 -0
- package/dist/session-impl.test.d.ts.map +1 -0
- package/dist/session-impl.test.js +464 -0
- package/dist/session-impl.test.js.map +1 -0
- package/dist/session.d.ts +139 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +4 -0
- package/dist/text.d.ts +391 -0
- package/dist/text.d.ts.map +1 -0
- package/dist/text.js +640 -0
- package/dist/text.js.map +1 -0
- package/dist/text.test.d.ts +2 -0
- package/dist/text.test.js +473 -0
- package/dist/text.test.js.map +1 -0
- package/package.json +137 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { Temporal, toTemporalInstant } from "@js-temporal/polyfill";
|
|
2
|
+
Date.prototype.toTemporalInstant = toTemporalInstant;
|
|
3
|
+
import { Text } from "./text.js";
|
|
4
|
+
import { AuthorizedMessage, Message, MessageClass, MessageVisibility } from "./message.js";
|
|
5
|
+
import { RepositoryGetMessagesOptions } from "./repository.js";
|
|
6
|
+
import { Bot } from "./bot.js";
|
|
7
|
+
import { Actor, Article, ChatMessage, Context, Document, Note, Question } from "@fedify/fedify";
|
|
8
|
+
import { LanguageTag } from "@phensley/language-tag";
|
|
9
|
+
|
|
10
|
+
//#region src/session.d.ts
|
|
11
|
+
/**
|
|
12
|
+
* A session to control the bot.
|
|
13
|
+
*/
|
|
14
|
+
interface Session<TContextData> {
|
|
15
|
+
/**
|
|
16
|
+
* The bot to which the session belongs.
|
|
17
|
+
*/
|
|
18
|
+
readonly bot: Bot<TContextData>;
|
|
19
|
+
/**
|
|
20
|
+
* The Fedify context of the session.
|
|
21
|
+
*/
|
|
22
|
+
readonly context: Context<TContextData>;
|
|
23
|
+
/**
|
|
24
|
+
* The URI of the bot actor.
|
|
25
|
+
*/
|
|
26
|
+
readonly actorId: URL;
|
|
27
|
+
/**
|
|
28
|
+
* The fediverse handle of the bot actor. It starts with `@`.
|
|
29
|
+
*/
|
|
30
|
+
readonly actorHandle: `@${string}@${string}`;
|
|
31
|
+
/**
|
|
32
|
+
* Gets the `Actor` object of the bot.
|
|
33
|
+
* @returns The `Actor` object of the bot.
|
|
34
|
+
*/
|
|
35
|
+
getActor(): Promise<Actor>;
|
|
36
|
+
/**
|
|
37
|
+
* Send a follow request to the specified actor.
|
|
38
|
+
*
|
|
39
|
+
* Note that it does not guarantee that the follow request will be accepted.
|
|
40
|
+
* You might need to handle {@link Bot.onAcceptFollow} and
|
|
41
|
+
* {@link Bot.onRejectFollow} events to know the result.
|
|
42
|
+
*
|
|
43
|
+
* If the bot is already following the actor, it does nothing.
|
|
44
|
+
* @param actor The actor to follow. It can be an `Actor` object, or a `URL`
|
|
45
|
+
* of the actor, or a URI string or a fediverse handle of the
|
|
46
|
+
* actor.
|
|
47
|
+
* @throws {TypeError} If the actor URL is invalid or the resolved object
|
|
48
|
+
* is not an `Actor` or the actor is the bot itself.
|
|
49
|
+
*/
|
|
50
|
+
follow(actor: Actor | URL | string): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Unfollow the specified actor.
|
|
53
|
+
*
|
|
54
|
+
* Unlike {@link Session.follow}, it immediately unfollows the actor without
|
|
55
|
+
* any confirmation.
|
|
56
|
+
*
|
|
57
|
+
* If the bot is not following the actor, it does nothing.
|
|
58
|
+
* @param actor The actor to unfollow. It can be an `Actor` object,
|
|
59
|
+
* or a `URL` of the actor, or a URI string or a fediverse handle
|
|
60
|
+
* of the actor.
|
|
61
|
+
* @throws {TypeError} If the actor URL is invalid or the resolved object
|
|
62
|
+
* is not an `Actor` or the actor is the bot itself.
|
|
63
|
+
*/
|
|
64
|
+
unfollow(actor: Actor | URL | string): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Checks whether the bot is following the specified actor.
|
|
67
|
+
* @param actor The actor to check whether the bot is following. It can be
|
|
68
|
+
* an `Actor` object, or a `URL` of the actor, or a URI string
|
|
69
|
+
* or a fediverse handle of the actor.
|
|
70
|
+
* @returns `true` if the bot is following the actor, otherwise `false`.
|
|
71
|
+
* @throws {TypeError} If the actor URL is invalid or the resolved object
|
|
72
|
+
* is not an `Actor`.
|
|
73
|
+
*/
|
|
74
|
+
follows(actor: Actor | URL | string): Promise<boolean>;
|
|
75
|
+
/**
|
|
76
|
+
* Publishes a message attributed to the bot.
|
|
77
|
+
* @param text The content of the note.
|
|
78
|
+
* @param options The options for publishing the message.
|
|
79
|
+
* @returns The published message.
|
|
80
|
+
*/
|
|
81
|
+
publish(content: Text<"block", TContextData>, options?: SessionPublishOptions<TContextData>): Promise<AuthorizedMessage<Note, TContextData>>;
|
|
82
|
+
/**
|
|
83
|
+
* Publishes a message attributed to the bot.
|
|
84
|
+
* @typeParam T The class of the published message.
|
|
85
|
+
* @param text The content of the note.
|
|
86
|
+
* @param options The options for publishing the message.
|
|
87
|
+
* @returns The published message.
|
|
88
|
+
*/
|
|
89
|
+
publish<T extends MessageClass>(content: Text<"block", TContextData>, options: SessionPublishOptionsWithClass<T, TContextData>): Promise<AuthorizedMessage<T, TContextData>>;
|
|
90
|
+
/**
|
|
91
|
+
* Gets messages from the bot's outbox.
|
|
92
|
+
* @param options The options for getting messages.
|
|
93
|
+
* @returns An async iterable of messages.
|
|
94
|
+
*/
|
|
95
|
+
getOutbox(options?: SessionGetOutboxOptions): AsyncIterable<AuthorizedMessage<MessageClass, TContextData>>;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Options for publishing a message.
|
|
99
|
+
* @typeParam TContextData The type of the context data.
|
|
100
|
+
*/
|
|
101
|
+
interface SessionPublishOptions<TContextData> {
|
|
102
|
+
/**
|
|
103
|
+
* The language of the published message.
|
|
104
|
+
*/
|
|
105
|
+
readonly language?: string | LanguageTag;
|
|
106
|
+
/**
|
|
107
|
+
* The visibility of the published message. If omitted, `"public"` will be
|
|
108
|
+
* used.
|
|
109
|
+
*/
|
|
110
|
+
readonly visibility?: Exclude<MessageVisibility, "unknown">;
|
|
111
|
+
/**
|
|
112
|
+
* The media attachments of the published message.
|
|
113
|
+
*/
|
|
114
|
+
readonly attachments?: Document[];
|
|
115
|
+
/**
|
|
116
|
+
* The message to quote in the published message.
|
|
117
|
+
* @since 0.2.0
|
|
118
|
+
*/
|
|
119
|
+
readonly quoteTarget?: Message<MessageClass, TContextData>;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Options for publishing a message with a specific class.
|
|
123
|
+
* @typeParam T The class of the published message.
|
|
124
|
+
* @typeParam TContextData The type of the context data.
|
|
125
|
+
*/
|
|
126
|
+
interface SessionPublishOptionsWithClass<T extends MessageClass, TContextData> extends SessionPublishOptions<TContextData> {
|
|
127
|
+
/**
|
|
128
|
+
* The class of the published message. If omitted, `Note` will be used.
|
|
129
|
+
*/
|
|
130
|
+
readonly class: T extends Article ? typeof Article : T extends ChatMessage ? typeof ChatMessage : T extends Note ? typeof Note : T extends Question ? typeof Question : never;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Options for getting messages from the bot's outbox.
|
|
134
|
+
*/
|
|
135
|
+
interface SessionGetOutboxOptions extends RepositoryGetMessagesOptions {}
|
|
136
|
+
//# sourceMappingURL=session.d.ts.map
|
|
137
|
+
//#endregion
|
|
138
|
+
export { Session, SessionGetOutboxOptions, SessionPublishOptions, SessionPublishOptionsWithClass };
|
|
139
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","names":[],"sources":["../src/session.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;UAsCiB;;;AAAjB;EAAwB,SAAA,GAAA,EAIR,GAJQ,CAIJ,YAJI,CAAA;EAAA;;;EASgB,SAApB,OAAA,EAAA,OAAA,CAAQ,YAAR,CAAA;EAAO;;;EAgBN,SAgBL,OAAA,EA3BI,GA2BJ;EAAK;;;EAeE,SAAG,WAAA,EAAA,IAAA,MAAA,IAAA,MAAA,EAAA;EAAG;;;;EAWkB,QASpB,EAAA,EAnDb,OAmDa,CAnDL,KAmDK,CAAA;EAAY;;;;;;;;;;;;;;EAcP,MAAE,CAAA,KAAA,EAjDlB,KAiDkB,GAjDV,GAiDU,GAAA,MAAA,CAAA,EAjDK,OAiDL,CAAA,IAAA,CAAA;EAAY;;;;;;;AAS5B;AAOlB;;;;;EAU+B,QAKN,CAAA,KAAA,EAjEP,KAiEO,GAjEC,GAiED,GAAA,MAAA,CAAA,EAjEgB,OAiEhB,CAAA,IAAA,CAAA;EAAQ;;;AAMD;AAQhC;;;;;EAOmB,OAAS,CAAA,KAAA,EA3EX,KA2EW,GA3EH,GA2EG,GAAA,MAAA,CAAA,EA3EY,OA2EZ,CAAA,OAAA,CAAA;EAAO;;;;;;EAEf,OAAU,CAAA,OAAA,EApEjB,IAoEiB,CAAA,OAAA,EApEH,YAoEG,CAAA,EAAA,OAAA,CAAA,EAnEhB,qBAmEgB,CAnEM,YAmEN,CAAA,CAAA,EAlEzB,OAkEyB,CAlEjB,iBAkEiB,CAlEC,IAkED,EAlEO,YAkEP,CAAA,CAAA;EAAI;;;;AANH;AAc/B;;oBAjEoB,uBACP,cAAc,wBACd,+BAA+B,GAAG,gBAC1C,QAAQ,kBAAkB,GAAG;;;;;;sBAQpB,0BACT,cAAc,kBAAkB,cAAc;;;;;;UAOlC;;;;+BAIc;;;;;wBAMP,QAAQ;;;;yBAKP;;;;;yBAMA,QAAQ,cAAc;;;;;;;UAQ9B,yCACL,oCAEF,sBAAsB;;;;kBAId,UAAU,iBAAiB,UACvC,UAAU,qBAAqB,cAC/B,UAAU,cAAc,OACxB,UAAU,kBAAkB;;;;;UAOjB,uBAAA,SAAgC"}
|
package/dist/session.js
ADDED
package/dist/text.d.ts
ADDED
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
import { Temporal, toTemporalInstant } from "@js-temporal/polyfill";
|
|
2
|
+
Date.prototype.toTemporalInstant = toTemporalInstant;
|
|
3
|
+
import { Session } from "./session.js";
|
|
4
|
+
import { DeferredCustomEmoji } from "./emoji.js";
|
|
5
|
+
import { Actor, Emoji, Link, Object as Object$1 } from "@fedify/fedify";
|
|
6
|
+
|
|
7
|
+
//#region src/text.d.ts
|
|
8
|
+
/**
|
|
9
|
+
* A tree structure representing a text with formatting. It does not only
|
|
10
|
+
* render the text but also extract tags (e.g., mentions) from it.
|
|
11
|
+
* @typeParam TContextData The type of the context data.
|
|
12
|
+
*/
|
|
13
|
+
interface Text<TType extends "block" | "inline", TContextData> {
|
|
14
|
+
/**
|
|
15
|
+
* The type of the text. It can be either `"block"` or `"inline"`.
|
|
16
|
+
*/
|
|
17
|
+
readonly type: TType;
|
|
18
|
+
/**
|
|
19
|
+
* Render a text tree as HTML.
|
|
20
|
+
* @param session The bot session.
|
|
21
|
+
* @returns An async iterable of HTML chunks.
|
|
22
|
+
*/
|
|
23
|
+
getHtml(session: Session<TContextData>): AsyncIterable<string>;
|
|
24
|
+
/**
|
|
25
|
+
* Extract tags (e.g., mentions) from a text tree.
|
|
26
|
+
* @param session The bot session
|
|
27
|
+
* @returns An async iterable of tags.
|
|
28
|
+
*/
|
|
29
|
+
getTags(session: Session<TContextData>): AsyncIterable<Link | Object$1>;
|
|
30
|
+
/**
|
|
31
|
+
* Gets cached objects. The result of this method depends on
|
|
32
|
+
* whether {@link getHtml} or {@link getTags} has been called before.
|
|
33
|
+
* It's used for optimizing the post rendering process, e.g., reusing
|
|
34
|
+
* once fetched remote objects.
|
|
35
|
+
* @returns The cached objects. The order of the objects does not matter.
|
|
36
|
+
*/
|
|
37
|
+
getCachedObjects(): Object$1[];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Checks if a value is a {@link Text} tree.
|
|
41
|
+
* @param value The value to check.
|
|
42
|
+
* @returns `true` if the value is a {@link Text} tree, `false` otherwise.
|
|
43
|
+
* @typeParam TContextData The type of the context data.
|
|
44
|
+
*/
|
|
45
|
+
declare function isText<TContextData>(value: unknown): value is Text<"block" | "inline", TContextData>;
|
|
46
|
+
/**
|
|
47
|
+
* Checks if a given `actor` is mentioned in a `text`.
|
|
48
|
+
* @param session The bot session.
|
|
49
|
+
* @param text The text object to check.
|
|
50
|
+
* @param actor The actor to check. It can be either an `Actor` object or
|
|
51
|
+
* an actor URI.
|
|
52
|
+
* @returns `true` if the actor is mentioned in the text, `false` otherwise.
|
|
53
|
+
*/
|
|
54
|
+
declare function mentions<TContextData>(session: Session<TContextData>, text: Text<"block" | "inline", TContextData>, actor: Actor | URL): Promise<boolean>;
|
|
55
|
+
/**
|
|
56
|
+
* A text tree that renders a template string with values. You normally
|
|
57
|
+
* don't need to instantiate this directly; use the {@link text} function
|
|
58
|
+
* instead.
|
|
59
|
+
* @typeParam TContextData The type of the context data.
|
|
60
|
+
*/
|
|
61
|
+
declare class TemplatedText<TContextData> implements Text<"block", TContextData> {
|
|
62
|
+
#private;
|
|
63
|
+
readonly type = "block";
|
|
64
|
+
/**
|
|
65
|
+
* Creates a text tree with a template string and values.
|
|
66
|
+
* @param strings The template strings.
|
|
67
|
+
* @param values The values to interpolate.
|
|
68
|
+
*/
|
|
69
|
+
constructor(strings: TemplateStringsArray, ...values: unknown[]);
|
|
70
|
+
getHtml(session: Session<TContextData>): AsyncIterable<string>;
|
|
71
|
+
getTags(session: Session<TContextData>): AsyncIterable<Link | Object$1>;
|
|
72
|
+
getCachedObjects(): Object$1[];
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* A template string tag that creates a {@link Text} tree.
|
|
76
|
+
*
|
|
77
|
+
* Basically, it only interpolates values into the template string and
|
|
78
|
+
* escapes HTML characters, except for line breaks and paragraphs.
|
|
79
|
+
* For example, the below code:
|
|
80
|
+
*
|
|
81
|
+
* ```ts
|
|
82
|
+
* text`Hello, <${em("World")}>!\n\nGoodbye!`
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* will be rendered as:
|
|
86
|
+
*
|
|
87
|
+
* ```html
|
|
88
|
+
* <p>Hello, <<em>World</em>>!</p>
|
|
89
|
+
* <p>Goodbye!</p>
|
|
90
|
+
* ```
|
|
91
|
+
*
|
|
92
|
+
* @typeParam TContextData The type of the context data.
|
|
93
|
+
* @param strings The template strings.
|
|
94
|
+
* @param values The values to interpolate.
|
|
95
|
+
* @returns A {@link Text} tree.
|
|
96
|
+
*/
|
|
97
|
+
declare function text<TContextData>(strings: TemplateStringsArray, ...values: unknown[]): Text<"block", TContextData>;
|
|
98
|
+
/**
|
|
99
|
+
* A text tree that renders a plain text. You normally don't need to
|
|
100
|
+
* instantiate this directly; use the {@link plainText} function instead.
|
|
101
|
+
* @typeParam TContextData The type of the context data.
|
|
102
|
+
*/
|
|
103
|
+
declare class PlainText<TContextData> implements Text<"inline", TContextData> {
|
|
104
|
+
readonly type = "inline";
|
|
105
|
+
readonly text: string;
|
|
106
|
+
/**
|
|
107
|
+
* Creates a {@link PlainText} tree with a plain text.
|
|
108
|
+
* @param text The plain text.
|
|
109
|
+
*/
|
|
110
|
+
constructor(text: string);
|
|
111
|
+
getHtml(_session: Session<TContextData>): AsyncIterable<string>;
|
|
112
|
+
getTags(_session: Session<TContextData>): AsyncIterable<Link | Object$1>;
|
|
113
|
+
getCachedObjects(): Object$1[];
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* A function that creates a {@link PlainText} tree. It only does two simple
|
|
117
|
+
* things:
|
|
118
|
+
*
|
|
119
|
+
* - Escaping the given text so that it can be safely rendered as HTML
|
|
120
|
+
* - Splitting the text by line breaks and rendering them as hard line breaks
|
|
121
|
+
* @typeParam TContextData The type of the context data.
|
|
122
|
+
* @param text The plain text.
|
|
123
|
+
* @returns A {@link PlainText} tree.
|
|
124
|
+
*/
|
|
125
|
+
declare function plainText<TContextData>(text: string): Text<"inline", TContextData>;
|
|
126
|
+
/**
|
|
127
|
+
* A text tree that renders a mention. You normally don't need to
|
|
128
|
+
* instantiate this directly; use the {@link mention} function instead.
|
|
129
|
+
* @typeParam TContextData The type of the context data.
|
|
130
|
+
*/
|
|
131
|
+
declare class MentionText<TContextData> implements Text<"inline", TContextData> {
|
|
132
|
+
#private;
|
|
133
|
+
readonly type = "inline";
|
|
134
|
+
/**
|
|
135
|
+
* Creates a {@link MentionText} tree with a label and an actor.
|
|
136
|
+
* @param label The label of the mention.
|
|
137
|
+
* @param actor The actor which the mention refers to.
|
|
138
|
+
*/
|
|
139
|
+
constructor(label: string | ((session: Session<TContextData>) => Promise<string>), actor: Actor | ((session: Session<TContextData>) => Promise<Object$1 | null>));
|
|
140
|
+
getHtml(session: Session<TContextData>): AsyncIterable<string>;
|
|
141
|
+
getTags(session: Session<TContextData>): AsyncIterable<Link | Object$1>;
|
|
142
|
+
getCachedObjects(): Object$1[];
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Mentions an actor by its fediverse handle. You can use this function
|
|
146
|
+
* to create a {@link MentionText} tree. The label of the mention will be
|
|
147
|
+
* the same as the handle.
|
|
148
|
+
*
|
|
149
|
+
* If the given handle does not refer to an actor, the returned tree consists
|
|
150
|
+
* of a plain text with the handle without any link.
|
|
151
|
+
* @typeParam TContextData The type of the context data.
|
|
152
|
+
* @param handle The handle of the actor.
|
|
153
|
+
* @returns A {@link MentionText} tree.
|
|
154
|
+
*/
|
|
155
|
+
declare function mention<TContextData>(handle: string): Text<"inline", TContextData>;
|
|
156
|
+
/**
|
|
157
|
+
* Mentions an actor. You can use this function to create a {@link MentionText}
|
|
158
|
+
* from an actor object. The label of the mention will be the fediverse handle
|
|
159
|
+
* of the actor.
|
|
160
|
+
* @typeParam TContextData The type of the context data.
|
|
161
|
+
* @param actor The actor to mention.
|
|
162
|
+
* @returns A {@link MentionText} tree.
|
|
163
|
+
*/
|
|
164
|
+
declare function mention<TContextData>(actor: Actor | URL): Text<"inline", TContextData>;
|
|
165
|
+
/**
|
|
166
|
+
* Mentions an actor with a custom label. You can use this function to create
|
|
167
|
+
* a {@link MentionText} tree from an actor object with a custom label.
|
|
168
|
+
*
|
|
169
|
+
* If the given actor is a URL and the URL does not refer to an actor,
|
|
170
|
+
* the returned tree consists of a plain text with the URL without any link.
|
|
171
|
+
* @typeParam TContextData The type of the context data.
|
|
172
|
+
* @param label The label of the mention.
|
|
173
|
+
* @param actor The actor to mention.
|
|
174
|
+
*/
|
|
175
|
+
declare function mention<TContextData>(label: string, actor: Actor | URL): Text<"inline", TContextData>;
|
|
176
|
+
/**
|
|
177
|
+
* A text tree that renders a hashtag. You normally don't need to
|
|
178
|
+
* instantiate this directly; use the {@link hashtag} function instead.
|
|
179
|
+
* @typeParam TContextData The type of the context data.
|
|
180
|
+
*/
|
|
181
|
+
declare class HashtagText<TContextData> implements Text<"inline", TContextData> {
|
|
182
|
+
#private;
|
|
183
|
+
readonly type = "inline";
|
|
184
|
+
/**
|
|
185
|
+
* Creates a {@link HashtagText} tree with a tag.
|
|
186
|
+
* @param tag The hashtag. It does not matter whether it starts with `"#"`.
|
|
187
|
+
*/
|
|
188
|
+
constructor(tag: string);
|
|
189
|
+
getHtml(session: Session<TContextData>): AsyncIterable<string>;
|
|
190
|
+
getTags(session: Session<TContextData>): AsyncIterable<Link | Object$1>;
|
|
191
|
+
getCachedObjects(): Object$1[];
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Creates a hashtag. You can use this function to create a {@link HashtagText}
|
|
195
|
+
* tree.
|
|
196
|
+
* @param tag The hashtag. It does not matter whether it starts with `"#"`.
|
|
197
|
+
* @returns A {@link HashtagText} tree.
|
|
198
|
+
*/
|
|
199
|
+
declare function hashtag<TContextData>(tag: string): Text<"inline", TContextData>;
|
|
200
|
+
/**
|
|
201
|
+
* A text tree that renders a `<strong>` text. You normally don't need to
|
|
202
|
+
* instantiate this directly; use the {@link strong} function instead.
|
|
203
|
+
* @typeParam TContextData The type of the context data.
|
|
204
|
+
*/
|
|
205
|
+
declare class StrongText<TContextData> implements Text<"inline", TContextData> {
|
|
206
|
+
#private;
|
|
207
|
+
readonly type = "inline";
|
|
208
|
+
/**
|
|
209
|
+
* Creates a {@link StrongText} tree with a text.
|
|
210
|
+
* @param text The text to render as `<strong>`.
|
|
211
|
+
*/
|
|
212
|
+
constructor(text: Text<"inline", TContextData> | string);
|
|
213
|
+
getHtml(session: Session<TContextData>): AsyncIterable<string>;
|
|
214
|
+
getTags(session: Session<TContextData>): AsyncIterable<Link | Object$1>;
|
|
215
|
+
getCachedObjects(): Object$1[];
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Applies `<strong>` tag to a text. You can use this function to create a
|
|
219
|
+
* {@link StrongText} tree.
|
|
220
|
+
* @typeParam TContextData The type of the context data.
|
|
221
|
+
* @param text The text to render as `<strong>`. It can be a plain text or
|
|
222
|
+
* another text tree.
|
|
223
|
+
* @returns A {@link StrongText} tree.
|
|
224
|
+
*/
|
|
225
|
+
declare function strong<TContextData>(text: Text<"inline", TContextData> | string): Text<"inline", TContextData>;
|
|
226
|
+
/**
|
|
227
|
+
* A text tree that renders an `<em>` text. You normally don't need to
|
|
228
|
+
* instantiate this directly; use the {@link em} function instead.
|
|
229
|
+
* @typeParam TContextData The type of the context data.
|
|
230
|
+
*/
|
|
231
|
+
declare class EmText<TContextData> implements Text<"inline", TContextData> {
|
|
232
|
+
#private;
|
|
233
|
+
readonly type = "inline";
|
|
234
|
+
constructor(text: Text<"inline", TContextData> | string);
|
|
235
|
+
getHtml(session: Session<TContextData>): AsyncIterable<string>;
|
|
236
|
+
getTags(session: Session<TContextData>): AsyncIterable<Link | Object$1>;
|
|
237
|
+
getCachedObjects(): Object$1[];
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Applies `<em>` tag to a text. You can use this function to create an
|
|
241
|
+
* {@link EmText} tree.
|
|
242
|
+
* @typeParam TContextData The type of the context data.
|
|
243
|
+
* @param text The text to render as `<em>`. It can be a plain text or
|
|
244
|
+
* another text tree.
|
|
245
|
+
* @returns A {@link EmText} tree.
|
|
246
|
+
*/
|
|
247
|
+
declare function em<TContextData>(text: Text<"inline", TContextData> | string): Text<"inline", TContextData>;
|
|
248
|
+
/**
|
|
249
|
+
* A text tree that renders a link. You normally don't need to instantiate
|
|
250
|
+
* this directly; use the {@link link} function instead.
|
|
251
|
+
* @typeParam TContextData The type of the context data.
|
|
252
|
+
*/
|
|
253
|
+
declare class LinkText<TContextData> implements Text<"inline", TContextData> {
|
|
254
|
+
#private;
|
|
255
|
+
readonly type = "inline";
|
|
256
|
+
/**
|
|
257
|
+
* Creates a {@link LinkText} tree with a label and a URL.
|
|
258
|
+
* @param label The label of the link.
|
|
259
|
+
* @param href The URL of the link. It has to be an absolute URL.
|
|
260
|
+
*/
|
|
261
|
+
constructor(label: Text<"inline", TContextData> | string, href: URL | string);
|
|
262
|
+
getHtml(session: Session<TContextData>): AsyncIterable<string>;
|
|
263
|
+
getTags(session: Session<TContextData>): AsyncIterable<Link | Object$1>;
|
|
264
|
+
getCachedObjects(): Object$1[];
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Creates a link to the given `href` with the `label`. You can use this
|
|
268
|
+
* function to create a {@link LinkText} tree.
|
|
269
|
+
* @typeParam TContextData The type of the context data.
|
|
270
|
+
* @param label The displayed label of the link.
|
|
271
|
+
* @param href The link target. It has to be an absolute URL.
|
|
272
|
+
* @returns A {@link LinkText} tree.
|
|
273
|
+
*/
|
|
274
|
+
declare function link<TContextData>(label: Text<"inline", TContextData> | string, href: URL | string): Text<"inline", TContextData>;
|
|
275
|
+
/**
|
|
276
|
+
* Creates a link to the given `url` with no label. You can use this function
|
|
277
|
+
* to create a {@link LinkText} tree. The label of the link will be the same
|
|
278
|
+
* as the given `url`.
|
|
279
|
+
* @param url The link target. It has to be an absolute URL.
|
|
280
|
+
* @returns A {@link LinkText} tree.
|
|
281
|
+
*/
|
|
282
|
+
declare function link<TContextData>(url: URL | string): Text<"inline", TContextData>;
|
|
283
|
+
/**
|
|
284
|
+
* A text tree that renders a inline code. You normally don't need to
|
|
285
|
+
* instantiate this directly; use the {@link code} function instead.
|
|
286
|
+
* @typeParam TContextData The type of the context data.
|
|
287
|
+
*/
|
|
288
|
+
declare class CodeText<TContextData> implements Text<"inline", TContextData> {
|
|
289
|
+
#private;
|
|
290
|
+
readonly type = "inline";
|
|
291
|
+
/**
|
|
292
|
+
* Creates a {@link CodeText} tree with a code.
|
|
293
|
+
* @param code The code to render.
|
|
294
|
+
*/
|
|
295
|
+
constructor(code: Text<"inline", TContextData> | string);
|
|
296
|
+
getHtml(session: Session<TContextData>): AsyncIterable<string>;
|
|
297
|
+
getTags(session: Session<TContextData>): AsyncIterable<Link | Object$1>;
|
|
298
|
+
getCachedObjects(): Object$1[];
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Applies `<code>` tag to a text. You can use this function to create
|
|
302
|
+
* a {@link CodeText} tree.
|
|
303
|
+
* @param code The code to render.
|
|
304
|
+
* @returns A {@link CodeText} tree.
|
|
305
|
+
*/
|
|
306
|
+
declare function code<TContextData>(code: Text<"inline", TContextData> | string): Text<"inline", TContextData>;
|
|
307
|
+
/**
|
|
308
|
+
* A text tree that renders a custom emoji. You normally don't need to
|
|
309
|
+
* instantiate this directly; use the {@link customEmoji} function instead.
|
|
310
|
+
* @typeParam TContextData The type of the context data.
|
|
311
|
+
* @since 0.2.0
|
|
312
|
+
*/
|
|
313
|
+
declare class CustomEmojiText<TContextData> implements Text<"inline", TContextData> {
|
|
314
|
+
#private;
|
|
315
|
+
readonly type = "inline";
|
|
316
|
+
/**
|
|
317
|
+
* Creates a {@link CustomEmojiText} tree with a custom emoji.
|
|
318
|
+
* @param emoji The custom emoji to render.
|
|
319
|
+
*/
|
|
320
|
+
constructor(emoji: Emoji | DeferredCustomEmoji<TContextData>);
|
|
321
|
+
/**
|
|
322
|
+
* Gets the emoji object. If the emoji is a deferred emoji, it will
|
|
323
|
+
* be resolved with the given session.
|
|
324
|
+
* @param session The bot session.
|
|
325
|
+
* @returns The emoji object.
|
|
326
|
+
*/
|
|
327
|
+
getEmoji(session: Session<TContextData>): Emoji;
|
|
328
|
+
getHtml(session: Session<TContextData>): AsyncIterable<string>;
|
|
329
|
+
getTags(session: Session<TContextData>): AsyncIterable<Link | Object$1>;
|
|
330
|
+
getCachedObjects(): Object$1[];
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Renders a custom emoji. You can use this function to create a
|
|
334
|
+
* {@link CustomEmojiText} tree.
|
|
335
|
+
* @param emoji The custom emoji to render. See also {@link Bot.addCustomEmojis}
|
|
336
|
+
* method.
|
|
337
|
+
* @returns A {@link CustomEmojiText} tree.
|
|
338
|
+
* @since 0.2.0
|
|
339
|
+
*/
|
|
340
|
+
declare function customEmoji<TContextData>(emoji: Emoji | DeferredCustomEmoji<TContextData>): Text<"inline", TContextData>;
|
|
341
|
+
/**
|
|
342
|
+
* The options for rendering a Markdown text.
|
|
343
|
+
*/
|
|
344
|
+
interface MarkdownTextOptions {
|
|
345
|
+
/**
|
|
346
|
+
* Whether to render mentions in the Markdown text.
|
|
347
|
+
* @default {true}
|
|
348
|
+
*/
|
|
349
|
+
readonly mentions?: boolean;
|
|
350
|
+
/**
|
|
351
|
+
* Whether to render hashtags in the Markdown text.
|
|
352
|
+
* @default {true}
|
|
353
|
+
*/
|
|
354
|
+
readonly hashtags?: boolean;
|
|
355
|
+
/**
|
|
356
|
+
* Whether to automatically linkify URLs in the Markdown text.
|
|
357
|
+
* @default {true}
|
|
358
|
+
*/
|
|
359
|
+
readonly linkify?: boolean;
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* A text tree that renders a Markdown text. You normally don't need to
|
|
363
|
+
* instantiate this directly; use the {@link markdown} function instead.
|
|
364
|
+
*/
|
|
365
|
+
declare class MarkdownText<TContextData> implements Text<"block", TContextData> {
|
|
366
|
+
#private;
|
|
367
|
+
readonly type = "block";
|
|
368
|
+
/**
|
|
369
|
+
* Creates a {@link MarkdownText} tree with a Markdown content.
|
|
370
|
+
* @param content The Markdown content.
|
|
371
|
+
* @param options The options for rendering the Markdown content.
|
|
372
|
+
*/
|
|
373
|
+
constructor(content: string, options?: MarkdownTextOptions);
|
|
374
|
+
getHtml(session: Session<TContextData>): AsyncIterable<string>;
|
|
375
|
+
getTags(session: Session<TContextData>): AsyncIterable<Link | Object$1>;
|
|
376
|
+
getCachedObjects(): Object$1[];
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Renders a Markdown text. You can use this function to create
|
|
380
|
+
* a {@link MarkdownText} tree. The mentions in the Markdown text
|
|
381
|
+
* will be rendered as links unless the `mentions` option is set to
|
|
382
|
+
* `false`.
|
|
383
|
+
* @param content The Markdown content.
|
|
384
|
+
* @param options The options for rendering the Markdown content.
|
|
385
|
+
* @returns A {@link MarkdownText} tree.
|
|
386
|
+
*/
|
|
387
|
+
declare function markdown<TContextData>(content: string, options?: MarkdownTextOptions): Text<"block", TContextData>;
|
|
388
|
+
//# sourceMappingURL=text.d.ts.map
|
|
389
|
+
//#endregion
|
|
390
|
+
export { CodeText, CustomEmojiText, EmText, HashtagText, LinkText, MarkdownText, MarkdownTextOptions, MentionText, PlainText, StrongText, TemplatedText, Text, code, customEmoji, em, hashtag, isText, link, markdown, mention, mentions, plainText, strong, text };
|
|
391
|
+
//# sourceMappingURL=text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","names":[],"sources":["../src/text.ts"],"sourcesContent":[],"mappings":"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"}
|