@hardlydifficult/document-generator 1.1.7 → 1.1.9
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/README.md +256 -79
- package/dist/Document.d.ts +14 -2
- package/dist/Document.d.ts.map +1 -1
- package/dist/Document.js +33 -3
- package/dist/Document.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/outputters/index.d.ts +1 -0
- package/dist/outputters/index.d.ts.map +1 -1
- package/dist/outputters/index.js +4 -1
- package/dist/outputters/index.js.map +1 -1
- package/dist/outputters/slack.d.ts +6 -0
- package/dist/outputters/slack.d.ts.map +1 -0
- package/dist/outputters/slack.js +44 -0
- package/dist/outputters/slack.js.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @hardlydifficult/document-generator
|
|
2
2
|
|
|
3
|
-
Platform-agnostic document builder with chainable API.
|
|
3
|
+
Platform-agnostic document builder with chainable API and multi-format output (Markdown, Slack, plain text).
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -11,7 +11,7 @@ npm install @hardlydifficult/document-generator
|
|
|
11
11
|
## Quick Start
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
|
-
import { Document
|
|
14
|
+
import { Document } from '@hardlydifficult/document-generator';
|
|
15
15
|
|
|
16
16
|
const document = new Document()
|
|
17
17
|
.header("Weekly Report")
|
|
@@ -22,81 +22,278 @@ const document = new Document()
|
|
|
22
22
|
.context("Generated on 2025-01-15");
|
|
23
23
|
|
|
24
24
|
// Output as markdown
|
|
25
|
-
console.log(
|
|
25
|
+
console.log(document.toMarkdown());
|
|
26
|
+
|
|
27
|
+
// Output as Slack mrkdwn
|
|
28
|
+
console.log(document.toSlackText());
|
|
26
29
|
|
|
27
30
|
// Output as plain text
|
|
28
|
-
console.log(
|
|
31
|
+
console.log(document.toPlainText());
|
|
29
32
|
```
|
|
30
33
|
|
|
31
|
-
##
|
|
34
|
+
## Core Blocks
|
|
35
|
+
|
|
36
|
+
Build documents by chaining block methods. All methods return `this` for fluent composition.
|
|
32
37
|
|
|
33
|
-
|
|
38
|
+
```typescript
|
|
39
|
+
const doc = new Document()
|
|
40
|
+
.header("Title") // # Title
|
|
41
|
+
.text("Paragraph with **bold** text") // Supports inline markdown
|
|
42
|
+
.list(["Item 1", "Item 2"]) // Bulleted list
|
|
43
|
+
.divider() // Horizontal line
|
|
44
|
+
.link("Click here", "https://example.com") // Hyperlink
|
|
45
|
+
.code("const x = 1;") // Inline or multiline code
|
|
46
|
+
.image("https://example.com/img.png") // Image with optional alt text
|
|
47
|
+
.context("Footer text"); // Italicized context
|
|
48
|
+
```
|
|
34
49
|
|
|
35
|
-
|
|
50
|
+
### Inline Markdown
|
|
36
51
|
|
|
37
|
-
|
|
52
|
+
Text blocks support standard markdown formatting that auto-converts per platform:
|
|
38
53
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
| `.text(content)` | Add text paragraph (supports **bold**, *italic*, ~~strike~~) |
|
|
43
|
-
| `.list(items)` | Add a bulleted list |
|
|
44
|
-
| `.divider()` | Add a horizontal divider |
|
|
45
|
-
| `.context(text)` | Add footer/context text |
|
|
46
|
-
| `.link(text, url)` | Add a hyperlink |
|
|
47
|
-
| `.code(content)` | Add code (auto-detects inline vs multiline) |
|
|
48
|
-
| `.image(url, alt?)` | Add an image |
|
|
49
|
-
| `.section(title, content?, options?)` | Add a section (legacy header+divider, or bold title + body/list) |
|
|
50
|
-
| `.field(label, value, options?)` | Add a single key-value line (e.g., `**ETA:** Tomorrow`) |
|
|
54
|
+
```typescript
|
|
55
|
+
new Document().text('This has **bold**, *italic*, and ~~strikethrough~~ text.');
|
|
56
|
+
```
|
|
51
57
|
|
|
52
|
-
|
|
58
|
+
- **Markdown/Discord:** `**bold**`, `*italic*`, `~~strike~~` (unchanged)
|
|
59
|
+
- **Slack:** Converts to `*bold*`, `_italic_`, `~strike~`
|
|
60
|
+
- **Plain text:** Formatting stripped, text only
|
|
53
61
|
|
|
54
|
-
|
|
62
|
+
## Structured Content
|
|
55
63
|
|
|
56
|
-
|
|
64
|
+
### Sections
|
|
57
65
|
|
|
58
|
-
|
|
66
|
+
Add titled sections with optional content (string or list of items):
|
|
59
67
|
|
|
60
68
|
```typescript
|
|
61
|
-
|
|
69
|
+
// Legacy style: header + divider
|
|
70
|
+
doc.section("My Section");
|
|
71
|
+
|
|
72
|
+
// With string content
|
|
73
|
+
doc.section("Summary", "All systems operational");
|
|
74
|
+
|
|
75
|
+
// With list items
|
|
76
|
+
doc.section("Today", ["Ship feature", "Fix bug", "Review PR"]);
|
|
77
|
+
|
|
78
|
+
// With empty state
|
|
79
|
+
doc.section("Blockers", [], { emptyText: "None." });
|
|
80
|
+
|
|
81
|
+
// Ordered list
|
|
82
|
+
doc.section("Steps", ["First", "Second"], { ordered: true });
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Fields and Key-Value Pairs
|
|
86
|
+
|
|
87
|
+
Add single or multiple key-value lines:
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
// Single field
|
|
91
|
+
doc.field("ETA", "Tomorrow");
|
|
92
|
+
// Output: **ETA**: Tomorrow
|
|
93
|
+
|
|
94
|
+
// Multiple fields
|
|
95
|
+
doc.keyValue({ Network: "mainnet", Status: "active" });
|
|
96
|
+
// Output: **Network**: mainnet\n**Status**: active
|
|
97
|
+
|
|
98
|
+
// With styling options
|
|
99
|
+
doc.keyValue(
|
|
100
|
+
{ Name: "Alice", Role: "Admin" },
|
|
101
|
+
{ style: "bullet", separator: " =", bold: false }
|
|
102
|
+
);
|
|
103
|
+
// Output: • Name = Alice\n• Role = Admin
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Truncated Lists
|
|
107
|
+
|
|
108
|
+
Display a limited number of items with an "X more" indicator:
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
doc.truncatedList(
|
|
112
|
+
["Item 1", "Item 2", "Item 3", "Item 4", "Item 5"],
|
|
113
|
+
{ limit: 3 }
|
|
114
|
+
);
|
|
115
|
+
// Output:
|
|
116
|
+
// • Item 1
|
|
117
|
+
// • Item 2
|
|
118
|
+
// • Item 3
|
|
119
|
+
// _... and 2 more_
|
|
120
|
+
|
|
121
|
+
// Custom formatting
|
|
122
|
+
const users = [{ name: "Alice" }, { name: "Bob" }, { name: "Charlie" }];
|
|
123
|
+
doc.truncatedList(users, {
|
|
124
|
+
limit: 2,
|
|
125
|
+
format: (u) => u.name,
|
|
126
|
+
moreText: (n) => `Plus ${n} others`,
|
|
127
|
+
ordered: true
|
|
128
|
+
});
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Timestamps
|
|
132
|
+
|
|
133
|
+
Add ISO timestamps with optional emoji and label:
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
doc.timestamp();
|
|
137
|
+
// Output: 🕐 2024-02-04T12:00:00.000Z
|
|
138
|
+
|
|
139
|
+
doc.timestamp({ emoji: false });
|
|
140
|
+
// Output: 2024-02-04T12:00:00.000Z
|
|
141
|
+
|
|
142
|
+
doc.timestamp({ label: "Generated" });
|
|
143
|
+
// Output: Generated 2024-02-04T12:00:00.000Z
|
|
144
|
+
|
|
145
|
+
doc.timestamp({ date: new Date("2025-01-01") });
|
|
146
|
+
// Output: 🕐 2025-01-01T00:00:00.000Z
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Output Formats
|
|
150
|
+
|
|
151
|
+
Convert documents to different formats with a single method call:
|
|
152
|
+
|
|
153
|
+
```typescript
|
|
154
|
+
const doc = new Document()
|
|
155
|
+
.header("Report")
|
|
156
|
+
.text("Status: **active**");
|
|
157
|
+
|
|
158
|
+
doc.toMarkdown(); // # Report\n\nStatus: **active**
|
|
159
|
+
doc.toSlackText(); // *Report*\n\nStatus: *active*
|
|
160
|
+
doc.toSlack(); // Alias for toSlackText()
|
|
161
|
+
doc.toPlainText(); // REPORT\n\nStatus: active
|
|
162
|
+
|
|
163
|
+
// Or use render() with explicit format
|
|
164
|
+
doc.render("markdown"); // Standard markdown
|
|
165
|
+
doc.render("slack"); // Slack mrkdwn
|
|
166
|
+
doc.render("plaintext"); // Plain text
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Linkification
|
|
170
|
+
|
|
171
|
+
Transform text in document blocks (headers, paragraphs, lists, context) while preserving code and explicit links:
|
|
172
|
+
|
|
173
|
+
```typescript
|
|
174
|
+
import { Document } from "@hardlydifficult/document-generator";
|
|
175
|
+
|
|
176
|
+
const doc = new Document()
|
|
177
|
+
.header("Sprint ENG-533")
|
|
178
|
+
.text("Shipped ENG-533 and reviewed PR#42")
|
|
179
|
+
.code("ENG-533 inside code is untouched")
|
|
180
|
+
.link("PR", "https://github.com/example/pull/42");
|
|
181
|
+
|
|
182
|
+
// Simple function transformer
|
|
183
|
+
doc.linkify((text) => text.replace("ENG-533", "[ENG-533](...)"));
|
|
184
|
+
|
|
185
|
+
// Linker-style object with platform awareness
|
|
186
|
+
doc.linkify(
|
|
187
|
+
{
|
|
188
|
+
linkText: (text, { platform }) => {
|
|
189
|
+
if (text.includes("ENG-")) {
|
|
190
|
+
return `[${text}](https://linear.app/...)`;
|
|
191
|
+
}
|
|
192
|
+
return text;
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
{ platform: "slack" }
|
|
196
|
+
);
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## Constructor Options
|
|
200
|
+
|
|
201
|
+
Initialize a document with pre-populated content:
|
|
202
|
+
|
|
203
|
+
```typescript
|
|
204
|
+
const doc = new Document({
|
|
205
|
+
header: "Daily Report",
|
|
206
|
+
sections: [
|
|
207
|
+
{ title: "Summary", content: "All systems operational" },
|
|
208
|
+
{ content: "No blockers" }
|
|
209
|
+
],
|
|
210
|
+
context: { Network: "mainnet", Status: "active" }
|
|
211
|
+
});
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
## Utility Methods
|
|
215
|
+
|
|
216
|
+
### `isEmpty()`
|
|
217
|
+
|
|
218
|
+
Check if document has no blocks:
|
|
219
|
+
|
|
220
|
+
```typescript
|
|
221
|
+
const doc = new Document();
|
|
222
|
+
doc.isEmpty(); // true
|
|
223
|
+
|
|
224
|
+
doc.text("Content");
|
|
225
|
+
doc.isEmpty(); // false
|
|
62
226
|
```
|
|
63
227
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
228
|
+
### `clone()`
|
|
229
|
+
|
|
230
|
+
Create a shallow copy of the document:
|
|
231
|
+
|
|
232
|
+
```typescript
|
|
233
|
+
const original = new Document().header("Title").text("Content");
|
|
234
|
+
const copy = original.clone();
|
|
68
235
|
|
|
69
|
-
|
|
236
|
+
copy.text("Added to copy");
|
|
237
|
+
// original still has 2 blocks, copy has 3
|
|
238
|
+
```
|
|
70
239
|
|
|
71
|
-
|
|
240
|
+
### `getBlocks()`
|
|
72
241
|
|
|
73
|
-
|
|
242
|
+
Access the raw block array for custom processing:
|
|
74
243
|
|
|
75
244
|
```typescript
|
|
76
|
-
|
|
77
|
-
|
|
245
|
+
const blocks = doc.getBlocks();
|
|
246
|
+
// blocks: Block[]
|
|
247
|
+
```
|
|
78
248
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
//
|
|
249
|
+
### `Document.truncate(text, maxLength)`
|
|
250
|
+
|
|
251
|
+
Static utility to truncate text with ellipsis:
|
|
252
|
+
|
|
253
|
+
```typescript
|
|
254
|
+
Document.truncate("Hello world", 8); // "Hello..."
|
|
255
|
+
Document.truncate("Hi", 10); // "Hi"
|
|
85
256
|
```
|
|
86
257
|
|
|
87
|
-
##
|
|
258
|
+
## Direct Outputter Functions
|
|
88
259
|
|
|
89
|
-
|
|
260
|
+
For cases where you already have a `Block[]` array, use outputter functions directly:
|
|
90
261
|
|
|
91
|
-
|
|
262
|
+
```typescript
|
|
263
|
+
import { toMarkdown, toSlackText, toPlainText } from '@hardlydifficult/document-generator';
|
|
264
|
+
|
|
265
|
+
const blocks = [
|
|
266
|
+
{ type: 'header', text: 'Title' },
|
|
267
|
+
{ type: 'text', content: 'Body' }
|
|
268
|
+
];
|
|
92
269
|
|
|
93
|
-
|
|
270
|
+
toMarkdown(blocks); // # Title\n\nBody\n\n
|
|
271
|
+
toSlackText(blocks); // *Title*\n\nBody\n\n
|
|
272
|
+
toPlainText(blocks); // TITLE\n\nBody\n\n
|
|
273
|
+
```
|
|
94
274
|
|
|
95
|
-
|
|
275
|
+
## Markdown Conversion Utilities
|
|
276
|
+
|
|
277
|
+
Convert or strip markdown formatting for custom outputters:
|
|
278
|
+
|
|
279
|
+
```typescript
|
|
280
|
+
import { convertMarkdown, stripMarkdown } from '@hardlydifficult/document-generator';
|
|
281
|
+
|
|
282
|
+
// Convert to platform-specific format
|
|
283
|
+
convertMarkdown("**bold** and *italic*", "slack");
|
|
284
|
+
// → "*bold* and _italic_"
|
|
285
|
+
|
|
286
|
+
convertMarkdown("**bold** and *italic*", "markdown");
|
|
287
|
+
// → "**bold** and *italic*"
|
|
288
|
+
|
|
289
|
+
// Strip all markdown
|
|
290
|
+
stripMarkdown("**bold** and *italic*");
|
|
291
|
+
// → "bold and italic"
|
|
292
|
+
```
|
|
96
293
|
|
|
97
294
|
## Block Types
|
|
98
295
|
|
|
99
|
-
Internal block
|
|
296
|
+
Internal block structure for advanced use cases:
|
|
100
297
|
|
|
101
298
|
```typescript
|
|
102
299
|
type Block =
|
|
@@ -131,36 +328,16 @@ const report = new Document()
|
|
|
131
328
|
await channel.postMessage(report);
|
|
132
329
|
```
|
|
133
330
|
|
|
134
|
-
##
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
.header("Sprint Update ENG-533")
|
|
148
|
-
.text("Shipped ENG-533 and reviewed PR#42")
|
|
149
|
-
.code("ENG-533 inside code is untouched")
|
|
150
|
-
.link("PR", "https://github.com/Fairmint/api/pull/42")
|
|
151
|
-
.linkify(linker, { platform: "slack" });
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
`linkify()` also accepts a simple `(text) => text` transformer function.
|
|
155
|
-
|
|
156
|
-
## Structured Sections and Fields
|
|
157
|
-
|
|
158
|
-
For status updates and standups, use `section` and `field` to keep client code concise:
|
|
159
|
-
|
|
160
|
-
```typescript
|
|
161
|
-
const detail = new Document()
|
|
162
|
-
.section("Yesterday", ["Reviewed PR #42", "Fixed flaky test"])
|
|
163
|
-
.section("Today", ["Ship ENG-533", "Pair on migration"])
|
|
164
|
-
.section("Blockers", [], { emptyText: "None." })
|
|
165
|
-
.field("ETA", "Tomorrow");
|
|
166
|
-
```
|
|
331
|
+
## Appendix: Platform Differences
|
|
332
|
+
|
|
333
|
+
| Feature | Markdown | Slack | Plain Text |
|
|
334
|
+
|---------|----------|-------|-----------|
|
|
335
|
+
| **Bold** | `**text**` | `*text*` | text |
|
|
336
|
+
| *Italic* | `*text*` | `_text_` | text |
|
|
337
|
+
| ~~Strike~~ | `~~text~~` | `~text~` | text |
|
|
338
|
+
| Headers | `# Title` | `*Title*` | TITLE |
|
|
339
|
+
| Dividers | `---` | `────────────────` | `────────────────` |
|
|
340
|
+
| Links | `[text](url)` | `<url\|text>` | `text (url)` |
|
|
341
|
+
| Code (inline) | `` `code` `` | `` `code` `` | code |
|
|
342
|
+
| Code (block) | ` ```code``` ` | ` ```code``` ` | code |
|
|
343
|
+
| Images | `` | `Image: <url\|alt>` | `[Image: alt]` |
|
package/dist/Document.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Block, DocumentLinkifyOptions, DocumentLinkTransform, DocumentOptions, FieldOptions, KeyValueOptions, SectionContent, SectionOptions, TimestampOptions, TruncatedListOptions } from "./types.js";
|
|
2
|
-
/** A fluent builder for composing rich documents from typed blocks, with markdown and plain-text output. */
|
|
1
|
+
import type { Block, DocumentLinkifyOptions, DocumentLinkTransform, DocumentOptions, FieldOptions, KeyValueOptions, SectionContent, SectionOptions, StringOutputFormat, TimestampOptions, TruncatedListOptions } from "./types.js";
|
|
2
|
+
/** A fluent builder for composing rich documents from typed blocks, with markdown, Slack, and plain-text output. */
|
|
3
3
|
export declare class Document {
|
|
4
4
|
private blocks;
|
|
5
5
|
/**
|
|
@@ -117,10 +117,22 @@ export declare class Document {
|
|
|
117
117
|
* Get the raw blocks array.
|
|
118
118
|
*/
|
|
119
119
|
getBlocks(): Block[];
|
|
120
|
+
/**
|
|
121
|
+
* Render document as a string in the given format.
|
|
122
|
+
*/
|
|
123
|
+
render(format: StringOutputFormat): string;
|
|
120
124
|
/**
|
|
121
125
|
* Convert document to markdown string.
|
|
122
126
|
*/
|
|
123
127
|
toMarkdown(): string;
|
|
128
|
+
/**
|
|
129
|
+
* Convert document to Slack mrkdwn string.
|
|
130
|
+
*/
|
|
131
|
+
toSlackText(): string;
|
|
132
|
+
/**
|
|
133
|
+
* Alias for toSlackText() to keep call sites concise.
|
|
134
|
+
*/
|
|
135
|
+
toSlack(): string;
|
|
124
136
|
/**
|
|
125
137
|
* Convert document to plain text string.
|
|
126
138
|
*/
|
package/dist/Document.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../src/Document.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../src/Document.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,KAAK,EAIL,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,YAAY,EAGZ,eAAe,EAIf,cAAc,EACd,cAAc,EACd,kBAAkB,EAElB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAsBpB,oHAAoH;AACpH,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAe;IAE7B;;;;;;;;;;;;;;;;;;OAkBG;gBACS,OAAO,CAAC,EAAE,eAAe;IAoBrC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAWxD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS1B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAS3B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAS3B,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS3B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAUrC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAW3B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IActC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CACL,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,cAAc,EACxB,OAAO,GAAE,cAAmB,GAC3B,IAAI;IAwCP;;;;;;;;OAQG;IACH,KAAK,CACH,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,EAC5C,OAAO,GAAE,YAAiB,GACzB,IAAI;IAgBP;;;;;;;;;;;OAWG;IACH,QAAQ,CACN,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,EAC3D,OAAO,GAAE,eAAoB,GAC5B,IAAI;IAsBP;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,GAAE,oBAAoB,CAAC,CAAC,CAAM,GAAG,IAAI;IA2BzE;;;;;;;;;OASG;IACH,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,IAAI;IAc/C;;;;;OAKG;IACH,OAAO,CACL,SAAS,EAAE,qBAAqB,EAChC,OAAO,GAAE,sBAA2B,GACnC,IAAI;IA6BP;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,KAAK,IAAI,QAAQ;IAMjB;;OAEG;IACH,SAAS,IAAI,KAAK,EAAE;IAIpB;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM;IAiB1C;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,WAAW,IAAI,MAAM;CAGtB"}
|
package/dist/Document.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Document = void 0;
|
|
4
4
|
const markdown_js_1 = require("./outputters/markdown.js");
|
|
5
5
|
const plainText_js_1 = require("./outputters/plainText.js");
|
|
6
|
+
const slack_js_1 = require("./outputters/slack.js");
|
|
6
7
|
function resolveLinkTransform(transform, platform) {
|
|
7
8
|
if (typeof transform === "function") {
|
|
8
9
|
return transform;
|
|
@@ -15,7 +16,7 @@ function resolveLinkTransform(transform, platform) {
|
|
|
15
16
|
}
|
|
16
17
|
throw new Error("Invalid link transformer: expected function or object with linkText/apply");
|
|
17
18
|
}
|
|
18
|
-
/** A fluent builder for composing rich documents from typed blocks, with markdown and plain-text output. */
|
|
19
|
+
/** A fluent builder for composing rich documents from typed blocks, with markdown, Slack, and plain-text output. */
|
|
19
20
|
class Document {
|
|
20
21
|
blocks = [];
|
|
21
22
|
/**
|
|
@@ -343,17 +344,46 @@ class Document {
|
|
|
343
344
|
getBlocks() {
|
|
344
345
|
return this.blocks;
|
|
345
346
|
}
|
|
347
|
+
/**
|
|
348
|
+
* Render document as a string in the given format.
|
|
349
|
+
*/
|
|
350
|
+
render(format) {
|
|
351
|
+
switch (format) {
|
|
352
|
+
case "markdown":
|
|
353
|
+
return (0, markdown_js_1.toMarkdown)(this.blocks);
|
|
354
|
+
case "slack":
|
|
355
|
+
return (0, slack_js_1.toSlackText)(this.blocks);
|
|
356
|
+
case "plaintext":
|
|
357
|
+
return (0, plainText_js_1.toPlainText)(this.blocks);
|
|
358
|
+
default: {
|
|
359
|
+
const unsupportedFormat = format;
|
|
360
|
+
throw new Error(`Unsupported output format: ${String(unsupportedFormat)}`);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
346
364
|
/**
|
|
347
365
|
* Convert document to markdown string.
|
|
348
366
|
*/
|
|
349
367
|
toMarkdown() {
|
|
350
|
-
return
|
|
368
|
+
return this.render("markdown");
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Convert document to Slack mrkdwn string.
|
|
372
|
+
*/
|
|
373
|
+
toSlackText() {
|
|
374
|
+
return this.render("slack");
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Alias for toSlackText() to keep call sites concise.
|
|
378
|
+
*/
|
|
379
|
+
toSlack() {
|
|
380
|
+
return this.toSlackText();
|
|
351
381
|
}
|
|
352
382
|
/**
|
|
353
383
|
* Convert document to plain text string.
|
|
354
384
|
*/
|
|
355
385
|
toPlainText() {
|
|
356
|
-
return
|
|
386
|
+
return this.render("plaintext");
|
|
357
387
|
}
|
|
358
388
|
}
|
|
359
389
|
exports.Document = Document;
|
package/dist/Document.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Document.js","sourceRoot":"","sources":["../src/Document.ts"],"names":[],"mappings":";;;AAAA,0DAAwE;AACxE,4DAA2E;
|
|
1
|
+
{"version":3,"file":"Document.js","sourceRoot":"","sources":["../src/Document.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { Document } from "./Document.js";
|
|
2
|
-
export type { Block, HeaderBlock, TextBlock, ListBlock, DividerBlock, ContextBlock, LinkBlock, CodeBlock, ImageBlock, Platform, DocumentOptions, DocumentSection, DocumentLinkTransform, DocumentLinkifier, DocumentLinkifyOptions, SectionContent, SectionOptions, FieldOptions, KeyValueOptions, TruncatedListOptions, TimestampOptions, } from "./types.js";
|
|
2
|
+
export type { Block, HeaderBlock, TextBlock, ListBlock, DividerBlock, ContextBlock, LinkBlock, CodeBlock, ImageBlock, Platform, StringOutputFormat, DocumentOptions, DocumentSection, DocumentLinkTransform, DocumentLinkifier, DocumentLinkifyOptions, SectionContent, SectionOptions, FieldOptions, KeyValueOptions, TruncatedListOptions, TimestampOptions, } from "./types.js";
|
|
3
3
|
export { toMarkdown } from "./outputters/markdown.js";
|
|
4
4
|
export { toPlainText } from "./outputters/plainText.js";
|
|
5
|
+
export { toSlack, toSlackText } from "./outputters/slack.js";
|
|
5
6
|
export { convertMarkdown, stripMarkdown } from "./markdownConverter.js";
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,YAAY,EACV,KAAK,EACL,WAAW,EACX,SAAS,EACT,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,YAAY,EACV,KAAK,EACL,WAAW,EACX,SAAS,EACT,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,kBAAkB,EAElB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.stripMarkdown = exports.convertMarkdown = exports.toPlainText = exports.toMarkdown = exports.Document = void 0;
|
|
3
|
+
exports.stripMarkdown = exports.convertMarkdown = exports.toSlackText = exports.toSlack = exports.toPlainText = exports.toMarkdown = exports.Document = void 0;
|
|
4
4
|
// Main class and factory
|
|
5
5
|
var Document_js_1 = require("./Document.js");
|
|
6
6
|
Object.defineProperty(exports, "Document", { enumerable: true, get: function () { return Document_js_1.Document; } });
|
|
@@ -9,6 +9,9 @@ var markdown_js_1 = require("./outputters/markdown.js");
|
|
|
9
9
|
Object.defineProperty(exports, "toMarkdown", { enumerable: true, get: function () { return markdown_js_1.toMarkdown; } });
|
|
10
10
|
var plainText_js_1 = require("./outputters/plainText.js");
|
|
11
11
|
Object.defineProperty(exports, "toPlainText", { enumerable: true, get: function () { return plainText_js_1.toPlainText; } });
|
|
12
|
+
var slack_js_1 = require("./outputters/slack.js");
|
|
13
|
+
Object.defineProperty(exports, "toSlack", { enumerable: true, get: function () { return slack_js_1.toSlack; } });
|
|
14
|
+
Object.defineProperty(exports, "toSlackText", { enumerable: true, get: function () { return slack_js_1.toSlackText; } });
|
|
12
15
|
// Markdown converter (for custom outputters)
|
|
13
16
|
var markdownConverter_js_1 = require("./markdownConverter.js");
|
|
14
17
|
Object.defineProperty(exports, "convertMarkdown", { enumerable: true, get: function () { return markdownConverter_js_1.convertMarkdown; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AA6BjB,8BAA8B;AAC9B,wDAAsD;AAA7C,yGAAA,UAAU,OAAA;AACnB,0DAAwD;AAA/C,2GAAA,WAAW,OAAA;AACpB,kDAA6D;AAApD,mGAAA,OAAO,OAAA;AAAE,uGAAA,WAAW,OAAA;AAE7B,6CAA6C;AAC7C,+DAAwE;AAA/D,uHAAA,eAAe,OAAA;AAAE,qHAAA,aAAa,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/outputters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/outputters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/outputters/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toPlainText = exports.toMarkdown = void 0;
|
|
3
|
+
exports.toSlackText = exports.toSlack = exports.toPlainText = exports.toMarkdown = void 0;
|
|
4
4
|
var markdown_js_1 = require("./markdown.js");
|
|
5
5
|
Object.defineProperty(exports, "toMarkdown", { enumerable: true, get: function () { return markdown_js_1.toMarkdown; } });
|
|
6
6
|
var plainText_js_1 = require("./plainText.js");
|
|
7
7
|
Object.defineProperty(exports, "toPlainText", { enumerable: true, get: function () { return plainText_js_1.toPlainText; } });
|
|
8
|
+
var slack_js_1 = require("./slack.js");
|
|
9
|
+
Object.defineProperty(exports, "toSlack", { enumerable: true, get: function () { return slack_js_1.toSlack; } });
|
|
10
|
+
Object.defineProperty(exports, "toSlackText", { enumerable: true, get: function () { return slack_js_1.toSlackText; } });
|
|
8
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/outputters/index.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,+CAA6C;AAApC,2GAAA,WAAW,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/outputters/index.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,uCAAkD;AAAzC,mGAAA,OAAO,OAAA;AAAE,uGAAA,WAAW,OAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Block } from "../types.js";
|
|
2
|
+
/** Renders an array of Document blocks as a Slack mrkdwn-compatible string. */
|
|
3
|
+
export declare function toSlackText(blocks: Block[]): string;
|
|
4
|
+
/** Alias for `toSlackText()` to keep method naming concise in clients. */
|
|
5
|
+
export declare const toSlack: typeof toSlackText;
|
|
6
|
+
//# sourceMappingURL=slack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../src/outputters/slack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CA0CnD;AAED,0EAA0E;AAC1E,eAAO,MAAM,OAAO,oBAAc,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toSlack = void 0;
|
|
4
|
+
exports.toSlackText = toSlackText;
|
|
5
|
+
const markdownConverter_js_1 = require("../markdownConverter.js");
|
|
6
|
+
/** Renders an array of Document blocks as a Slack mrkdwn-compatible string. */
|
|
7
|
+
function toSlackText(blocks) {
|
|
8
|
+
return blocks
|
|
9
|
+
.map((block) => {
|
|
10
|
+
switch (block.type) {
|
|
11
|
+
case "header":
|
|
12
|
+
return `*${block.text}*\n\n`;
|
|
13
|
+
case "text":
|
|
14
|
+
return `${(0, markdownConverter_js_1.convertMarkdown)(block.content, "slack")}\n\n`;
|
|
15
|
+
case "list":
|
|
16
|
+
return `${block.items
|
|
17
|
+
.map((item) => `• ${(0, markdownConverter_js_1.convertMarkdown)(item, "slack")}`)
|
|
18
|
+
.join("\n")}\n\n`;
|
|
19
|
+
case "divider":
|
|
20
|
+
return `────────────────\n\n`;
|
|
21
|
+
case "context":
|
|
22
|
+
return `${(0, markdownConverter_js_1.convertMarkdown)(block.text, "slack")}\n\n`;
|
|
23
|
+
case "link": {
|
|
24
|
+
const text = (0, markdownConverter_js_1.convertMarkdown)(block.text, "slack");
|
|
25
|
+
return `<${block.url}|${text}>\n\n`;
|
|
26
|
+
}
|
|
27
|
+
case "code":
|
|
28
|
+
if (block.multiline) {
|
|
29
|
+
return `\`\`\`\n${block.content}\n\`\`\`\n\n`;
|
|
30
|
+
}
|
|
31
|
+
return `\`${block.content}\`\n\n`;
|
|
32
|
+
case "image": {
|
|
33
|
+
const alt = (0, markdownConverter_js_1.convertMarkdown)(block.alt ?? block.url, "slack");
|
|
34
|
+
return `Image: <${block.url}|${alt}>\n\n`;
|
|
35
|
+
}
|
|
36
|
+
default:
|
|
37
|
+
return "";
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
.join("");
|
|
41
|
+
}
|
|
42
|
+
/** Alias for `toSlackText()` to keep method naming concise in clients. */
|
|
43
|
+
exports.toSlack = toSlackText;
|
|
44
|
+
//# sourceMappingURL=slack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack.js","sourceRoot":"","sources":["../../src/outputters/slack.ts"],"names":[],"mappings":";;;AAIA,kCA0CC;AA9CD,kEAA0D;AAG1D,+EAA+E;AAC/E,SAAgB,WAAW,CAAC,MAAe;IACzC,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC;YAE/B,KAAK,MAAM;gBACT,OAAO,GAAG,IAAA,sCAAe,EAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;YAE1D,KAAK,MAAM;gBACT,OAAO,GAAG,KAAK,CAAC,KAAK;qBAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAA,sCAAe,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;qBACpD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAEtB,KAAK,SAAS;gBACZ,OAAO,sBAAsB,CAAC;YAEhC,KAAK,SAAS;gBACZ,OAAO,GAAG,IAAA,sCAAe,EAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;YAEvD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,IAAI,GAAG,IAAA,sCAAe,EAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAClD,OAAO,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC;YACtC,CAAC;YAED,KAAK,MAAM;gBACT,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;oBACpB,OAAO,WAAW,KAAK,CAAC,OAAO,cAAc,CAAC;gBAChD,CAAC;gBACD,OAAO,KAAK,KAAK,CAAC,OAAO,QAAQ,CAAC;YAEpC,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,GAAG,GAAG,IAAA,sCAAe,EAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC7D,OAAO,WAAW,KAAK,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC;YAC5C,CAAC;YAED;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,0EAA0E;AAC7D,QAAA,OAAO,GAAG,WAAW,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export type Platform = "markdown" | "slack" | "discord" | "plaintext";
|
|
2
|
+
/** Document string formats supported by `Document.render()`. */
|
|
3
|
+
export type StringOutputFormat = "markdown" | "slack" | "plaintext";
|
|
2
4
|
export type Block = HeaderBlock | TextBlock | ListBlock | DividerBlock | ContextBlock | LinkBlock | CodeBlock | ImageBlock;
|
|
3
5
|
export interface HeaderBlock {
|
|
4
6
|
type: "header";
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;AAEtE,MAAM,MAAM,KAAK,GACb,WAAW,GACX,SAAS,GACT,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAGD,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IACxC,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAGD,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,MAAM;IAC9C,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,sDAAsD;IACtD,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,yCAAyC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,CACT,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE,KACjD,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,CACN,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE,KACjD,MAAM,CAAC;CACb;AAED,MAAM,MAAM,qBAAqB,GAC7B,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,GAC1B,iBAAiB,CAAC;AAEtB,MAAM,WAAW,sBAAsB;IACrC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|