@knpkv/atlassian-common 0.2.0
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/CHANGELOG.md +11 -0
- package/LICENSE +21 -0
- package/README.md +107 -0
- package/dist/Brand.d.ts +118 -0
- package/dist/Brand.d.ts.map +1 -0
- package/dist/Brand.js +107 -0
- package/dist/Brand.js.map +1 -0
- package/dist/Hash.d.ts +53 -0
- package/dist/Hash.d.ts.map +1 -0
- package/dist/Hash.js +63 -0
- package/dist/Hash.js.map +1 -0
- package/dist/SerializeError.d.ts +48 -0
- package/dist/SerializeError.d.ts.map +1 -0
- package/dist/SerializeError.js +42 -0
- package/dist/SerializeError.js.map +1 -0
- package/dist/ast/BlockNode.d.ts +429 -0
- package/dist/ast/BlockNode.d.ts.map +1 -0
- package/dist/ast/BlockNode.js +279 -0
- package/dist/ast/BlockNode.js.map +1 -0
- package/dist/ast/Document.d.ts +255 -0
- package/dist/ast/Document.d.ts.map +1 -0
- package/dist/ast/Document.js +80 -0
- package/dist/ast/Document.js.map +1 -0
- package/dist/ast/InlineNode.d.ts +483 -0
- package/dist/ast/InlineNode.d.ts.map +1 -0
- package/dist/ast/InlineNode.js +268 -0
- package/dist/ast/InlineNode.js.map +1 -0
- package/dist/ast/MacroNode.d.ts +214 -0
- package/dist/ast/MacroNode.d.ts.map +1 -0
- package/dist/ast/MacroNode.js +110 -0
- package/dist/ast/MacroNode.js.map +1 -0
- package/dist/ast/index.d.ts +10 -0
- package/dist/ast/index.d.ts.map +1 -0
- package/dist/ast/index.js +14 -0
- package/dist/ast/index.js.map +1 -0
- package/dist/auth/OAuthEndpoints.d.ts +95 -0
- package/dist/auth/OAuthEndpoints.d.ts.map +1 -0
- package/dist/auth/OAuthEndpoints.js +112 -0
- package/dist/auth/OAuthEndpoints.js.map +1 -0
- package/dist/auth/OAuthErrors.d.ts +76 -0
- package/dist/auth/OAuthErrors.d.ts.map +1 -0
- package/dist/auth/OAuthErrors.js +85 -0
- package/dist/auth/OAuthErrors.js.map +1 -0
- package/dist/auth/OAuthOperations.d.ts +87 -0
- package/dist/auth/OAuthOperations.d.ts.map +1 -0
- package/dist/auth/OAuthOperations.js +169 -0
- package/dist/auth/OAuthOperations.js.map +1 -0
- package/dist/auth/OAuthResponseSchemas.d.ts +65 -0
- package/dist/auth/OAuthResponseSchemas.d.ts.map +1 -0
- package/dist/auth/OAuthResponseSchemas.js +47 -0
- package/dist/auth/OAuthResponseSchemas.js.map +1 -0
- package/dist/auth/index.d.ts +11 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +16 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/uuid.d.ts +14 -0
- package/dist/auth/uuid.d.ts.map +1 -0
- package/dist/auth/uuid.js +14 -0
- package/dist/auth/uuid.js.map +1 -0
- package/dist/config/ConfigPaths.d.ts +95 -0
- package/dist/config/ConfigPaths.d.ts.map +1 -0
- package/dist/config/ConfigPaths.js +102 -0
- package/dist/config/ConfigPaths.js.map +1 -0
- package/dist/config/OAuthSchemas.d.ts +144 -0
- package/dist/config/OAuthSchemas.d.ts.map +1 -0
- package/dist/config/OAuthSchemas.js +107 -0
- package/dist/config/OAuthSchemas.js.map +1 -0
- package/dist/config/TokenStorage.d.ts +96 -0
- package/dist/config/TokenStorage.d.ts.map +1 -0
- package/dist/config/TokenStorage.js +128 -0
- package/dist/config/TokenStorage.js.map +1 -0
- package/dist/config/index.d.ts +9 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +12 -0
- package/dist/config/index.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/parsers/index.d.ts +7 -0
- package/dist/parsers/index.d.ts.map +1 -0
- package/dist/parsers/index.js +8 -0
- package/dist/parsers/index.js.map +1 -0
- package/dist/serializers/MarkdownSerializer.d.ts +63 -0
- package/dist/serializers/MarkdownSerializer.d.ts.map +1 -0
- package/dist/serializers/MarkdownSerializer.js +367 -0
- package/dist/serializers/MarkdownSerializer.js.map +1 -0
- package/dist/serializers/index.d.ts +7 -0
- package/dist/serializers/index.d.ts.map +1 -0
- package/dist/serializers/index.js +7 -0
- package/dist/serializers/index.js.map +1 -0
- package/package.json +86 -0
- package/src/Brand.ts +142 -0
- package/src/Hash.ts +68 -0
- package/src/SerializeError.ts +50 -0
- package/src/ast/BlockNode.ts +386 -0
- package/src/ast/Document.ts +101 -0
- package/src/ast/InlineNode.ts +328 -0
- package/src/ast/MacroNode.ts +172 -0
- package/src/ast/index.ts +87 -0
- package/src/auth/OAuthEndpoints.ts +142 -0
- package/src/auth/OAuthErrors.ts +101 -0
- package/src/auth/OAuthOperations.ts +276 -0
- package/src/auth/OAuthResponseSchemas.ts +70 -0
- package/src/auth/index.ts +47 -0
- package/src/auth/uuid.ts +14 -0
- package/src/config/ConfigPaths.ts +179 -0
- package/src/config/OAuthSchemas.ts +146 -0
- package/src/config/TokenStorage.ts +228 -0
- package/src/config/index.ts +43 -0
- package/src/index.ts +34 -0
- package/src/parsers/index.ts +8 -0
- package/src/serializers/MarkdownSerializer.ts +498 -0
- package/src/serializers/index.ts +7 -0
- package/test/Brand.test.ts +90 -0
- package/test/MarkdownSerializer.test.ts +82 -0
- package/test/OAuthEndpoints.test.ts +109 -0
- package/test/OAuthOperations.test.ts +315 -0
- package/tsconfig.json +11 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/vitest.config.ts +12 -0
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inline-level AST nodes for text content (emphasis, links, mentions, etc.).
|
|
3
|
+
*
|
|
4
|
+
* **Mental model**
|
|
5
|
+
*
|
|
6
|
+
* - **Leaf and recursive nodes**: `Text`, `InlineCode`, `LineBreak` are leaves;
|
|
7
|
+
* `Strong`, `Emphasis`, `Highlight` contain nested `InlineNode` children via `Schema.suspend`.
|
|
8
|
+
* - **Unsupported preservation**: {@link UnsupportedInline} captures raw content that can't be
|
|
9
|
+
* mapped, enabling non-destructive roundtrips.
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
import * as Schema from "effect/Schema";
|
|
14
|
+
/**
|
|
15
|
+
* Optional raw source HTML for exact roundtrip preservation.
|
|
16
|
+
*
|
|
17
|
+
* @category InlineNode
|
|
18
|
+
*/
|
|
19
|
+
export const RawSource = Schema.optional(Schema.String);
|
|
20
|
+
/**
|
|
21
|
+
* Plain text content.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* import { Text } from "@knpkv/atlassian-common/ast"
|
|
26
|
+
*
|
|
27
|
+
* const text = new Text({ value: "Hello world" })
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @category InlineNode
|
|
31
|
+
*/
|
|
32
|
+
export class Text extends Schema.TaggedClass()("Text", {
|
|
33
|
+
value: Schema.String
|
|
34
|
+
}) {
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Inline code span.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* import { InlineCode } from "@knpkv/atlassian-common/ast"
|
|
42
|
+
*
|
|
43
|
+
* const code = new InlineCode({ value: "const x = 1" })
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @category InlineNode
|
|
47
|
+
*/
|
|
48
|
+
export class InlineCode extends Schema.TaggedClass()("InlineCode", {
|
|
49
|
+
value: Schema.String
|
|
50
|
+
}) {
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Line break element.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* import { LineBreak } from "@knpkv/atlassian-common/ast"
|
|
58
|
+
*
|
|
59
|
+
* const br = new LineBreak({})
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* @category InlineNode
|
|
63
|
+
*/
|
|
64
|
+
export class LineBreak extends Schema.TaggedClass()("LineBreak", {}) {
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Unsupported inline element - preserves raw content for round-tripping.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```typescript
|
|
71
|
+
* import { UnsupportedInline } from "@knpkv/atlassian-common/ast"
|
|
72
|
+
*
|
|
73
|
+
* const unknown = new UnsupportedInline({
|
|
74
|
+
* raw: "<custom-tag>content</custom-tag>",
|
|
75
|
+
* source: "confluence"
|
|
76
|
+
* })
|
|
77
|
+
* ```
|
|
78
|
+
*
|
|
79
|
+
* @category InlineNode
|
|
80
|
+
*/
|
|
81
|
+
export class UnsupportedInline extends Schema.TaggedClass()("UnsupportedInline", {
|
|
82
|
+
raw: Schema.String,
|
|
83
|
+
source: Schema.Literal("confluence", "markdown", "adf")
|
|
84
|
+
}) {
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Emoticon/emoji element.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* import { Emoticon } from "@knpkv/atlassian-common/ast"
|
|
92
|
+
*
|
|
93
|
+
* const emoji = new Emoticon({
|
|
94
|
+
* shortname: ":grinning:",
|
|
95
|
+
* emojiId: "1f600",
|
|
96
|
+
* fallback: "grinning"
|
|
97
|
+
* })
|
|
98
|
+
* ```
|
|
99
|
+
*
|
|
100
|
+
* @category InlineNode
|
|
101
|
+
*/
|
|
102
|
+
export class Emoticon extends Schema.TaggedClass()("Emoticon", {
|
|
103
|
+
shortname: Schema.String,
|
|
104
|
+
emojiId: Schema.String,
|
|
105
|
+
fallback: Schema.String,
|
|
106
|
+
rawSource: RawSource
|
|
107
|
+
}) {
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* User mention element.
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* import { UserMention } from "@knpkv/atlassian-common/ast"
|
|
115
|
+
*
|
|
116
|
+
* const mention = new UserMention({ accountId: "557058:..." })
|
|
117
|
+
* ```
|
|
118
|
+
*
|
|
119
|
+
* @category InlineNode
|
|
120
|
+
*/
|
|
121
|
+
export class UserMention extends Schema.TaggedClass()("UserMention", {
|
|
122
|
+
accountId: Schema.String,
|
|
123
|
+
rawSource: RawSource
|
|
124
|
+
}) {
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Date/time element.
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```typescript
|
|
131
|
+
* import { DateTime } from "@knpkv/atlassian-common/ast"
|
|
132
|
+
*
|
|
133
|
+
* const date = new DateTime({ datetime: "2026-01-01" })
|
|
134
|
+
* ```
|
|
135
|
+
*
|
|
136
|
+
* @category InlineNode
|
|
137
|
+
*/
|
|
138
|
+
export class DateTime extends Schema.TaggedClass()("DateTime", {
|
|
139
|
+
datetime: Schema.String,
|
|
140
|
+
rawSource: RawSource
|
|
141
|
+
}) {
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Underlined text.
|
|
145
|
+
*
|
|
146
|
+
* @category InlineNode
|
|
147
|
+
*/
|
|
148
|
+
export class Underline extends Schema.TaggedClass()("Underline", {
|
|
149
|
+
children: Schema.suspend(() => Schema.Array(InlineNodeBase))
|
|
150
|
+
}) {
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Subscript text.
|
|
154
|
+
*
|
|
155
|
+
* @category InlineNode
|
|
156
|
+
*/
|
|
157
|
+
export class Subscript extends Schema.TaggedClass()("Subscript", {
|
|
158
|
+
children: Schema.suspend(() => Schema.Array(InlineNodeBase))
|
|
159
|
+
}) {
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Superscript text.
|
|
163
|
+
*
|
|
164
|
+
* @category InlineNode
|
|
165
|
+
*/
|
|
166
|
+
export class Superscript extends Schema.TaggedClass()("Superscript", {
|
|
167
|
+
children: Schema.suspend(() => Schema.Array(InlineNodeBase))
|
|
168
|
+
}) {
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Strikethrough text.
|
|
172
|
+
*
|
|
173
|
+
* @category InlineNode
|
|
174
|
+
*/
|
|
175
|
+
export class Strikethrough extends Schema.TaggedClass()("Strikethrough", {
|
|
176
|
+
children: Schema.suspend(() => Schema.Array(InlineNodeBase))
|
|
177
|
+
}) {
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Colored text with CSS color value.
|
|
181
|
+
*
|
|
182
|
+
* @category InlineNode
|
|
183
|
+
*/
|
|
184
|
+
export class ColoredText extends Schema.TaggedClass()("ColoredText", {
|
|
185
|
+
color: Schema.String,
|
|
186
|
+
children: Schema.suspend(() => Schema.Array(InlineNodeBase))
|
|
187
|
+
}) {
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Highlighted text with background color.
|
|
191
|
+
*
|
|
192
|
+
* @category InlineNode
|
|
193
|
+
*/
|
|
194
|
+
export class Highlight extends Schema.TaggedClass()("Highlight", {
|
|
195
|
+
backgroundColor: Schema.String,
|
|
196
|
+
children: Schema.suspend(() => Schema.Array(InlineNodeBase))
|
|
197
|
+
}) {
|
|
198
|
+
}
|
|
199
|
+
// Forward declaration for recursive types
|
|
200
|
+
const InlineNodeBase = Schema.Union(Text, InlineCode, LineBreak, Emoticon, UserMention, DateTime, UnsupportedInline);
|
|
201
|
+
/**
|
|
202
|
+
* Inline node children schema - use this for recursive inline content.
|
|
203
|
+
*
|
|
204
|
+
* @category InlineNode
|
|
205
|
+
*/
|
|
206
|
+
export const InlineNodeChildren = Schema.suspend(() => Schema.Array(InlineNode));
|
|
207
|
+
/**
|
|
208
|
+
* Strong/bold text.
|
|
209
|
+
*
|
|
210
|
+
* @example
|
|
211
|
+
* ```typescript
|
|
212
|
+
* import { Strong, Text } from "@knpkv/atlassian-common/ast"
|
|
213
|
+
*
|
|
214
|
+
* const bold = new Strong({ children: [new Text({ value: "important" })] })
|
|
215
|
+
* ```
|
|
216
|
+
*
|
|
217
|
+
* @category InlineNode
|
|
218
|
+
*/
|
|
219
|
+
export class Strong extends Schema.TaggedClass()("Strong", {
|
|
220
|
+
children: Schema.suspend(() => Schema.Array(InlineNode))
|
|
221
|
+
}) {
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Emphasized/italic text.
|
|
225
|
+
*
|
|
226
|
+
* @example
|
|
227
|
+
* ```typescript
|
|
228
|
+
* import { Emphasis, Text } from "@knpkv/atlassian-common/ast"
|
|
229
|
+
*
|
|
230
|
+
* const italic = new Emphasis({ children: [new Text({ value: "emphasized" })] })
|
|
231
|
+
* ```
|
|
232
|
+
*
|
|
233
|
+
* @category InlineNode
|
|
234
|
+
*/
|
|
235
|
+
export class Emphasis extends Schema.TaggedClass()("Emphasis", {
|
|
236
|
+
children: Schema.suspend(() => Schema.Array(InlineNode))
|
|
237
|
+
}) {
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Hyperlink with optional title.
|
|
241
|
+
*
|
|
242
|
+
* @example
|
|
243
|
+
* ```typescript
|
|
244
|
+
* import { Link, Text } from "@knpkv/atlassian-common/ast"
|
|
245
|
+
*
|
|
246
|
+
* const link = new Link({
|
|
247
|
+
* href: "https://example.com",
|
|
248
|
+
* title: "Example",
|
|
249
|
+
* children: [new Text({ value: "Click here" })]
|
|
250
|
+
* })
|
|
251
|
+
* ```
|
|
252
|
+
*
|
|
253
|
+
* @category InlineNode
|
|
254
|
+
*/
|
|
255
|
+
export class Link extends Schema.TaggedClass()("Link", {
|
|
256
|
+
href: Schema.String,
|
|
257
|
+
title: Schema.optional(Schema.String),
|
|
258
|
+
children: Schema.suspend(() => Schema.Array(InlineNode)),
|
|
259
|
+
rawSource: RawSource
|
|
260
|
+
}) {
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Union of all inline node types.
|
|
264
|
+
*
|
|
265
|
+
* @category InlineNode
|
|
266
|
+
*/
|
|
267
|
+
export const InlineNode = Schema.Union(Text, Strong, Emphasis, InlineCode, Link, LineBreak, Emoticon, UserMention, DateTime, Underline, Subscript, Superscript, Strikethrough, ColoredText, Highlight, UnsupportedInline);
|
|
268
|
+
//# sourceMappingURL=InlineNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineNode.js","sourceRoot":"","sources":["../../src/ast/InlineNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Confluence macro AST nodes (panels, expand, TOC, code, status).
|
|
3
|
+
*
|
|
4
|
+
* **Mental model**
|
|
5
|
+
*
|
|
6
|
+
* - **Macro = structured metadata + block children**: Each macro wraps Confluence-specific
|
|
7
|
+
* semantics (panel type, code language, status color) around standard block content.
|
|
8
|
+
* - **Serialization-friendly**: Macros carry enough metadata for Markdown comment encoding
|
|
9
|
+
* and ADF reconstruction.
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
import * as Schema from "effect/Schema";
|
|
14
|
+
/**
|
|
15
|
+
* Supported panel type names.
|
|
16
|
+
*
|
|
17
|
+
* @category MacroNode
|
|
18
|
+
*/
|
|
19
|
+
export declare const PanelTypes: readonly ["info", "warning", "note", "tip", "error", "panel"];
|
|
20
|
+
/**
|
|
21
|
+
* Panel type for info/warning/note macros.
|
|
22
|
+
*
|
|
23
|
+
* @category MacroNode
|
|
24
|
+
*/
|
|
25
|
+
export declare const PanelType: Schema.Literal<["info", "warning", "note", "tip", "error", "panel"]>;
|
|
26
|
+
/**
|
|
27
|
+
* Type for panel type.
|
|
28
|
+
*
|
|
29
|
+
* @category Types
|
|
30
|
+
*/
|
|
31
|
+
export type PanelType = Schema.Schema.Type<typeof PanelType>;
|
|
32
|
+
/**
|
|
33
|
+
* Info/Warning/Note panel macro.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* import { InfoPanel, Paragraph, Text } from "@knpkv/atlassian-common/ast"
|
|
38
|
+
*
|
|
39
|
+
* const panel = {
|
|
40
|
+
* _tag: "InfoPanel" as const,
|
|
41
|
+
* panelType: "warning" as const,
|
|
42
|
+
* title: "Important",
|
|
43
|
+
* children: [new Paragraph({ children: [new Text({ value: "Be careful!" })] })]
|
|
44
|
+
* }
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @category MacroNode
|
|
48
|
+
*/
|
|
49
|
+
export declare const InfoPanel: Schema.Struct<{
|
|
50
|
+
_tag: Schema.Literal<["InfoPanel"]>;
|
|
51
|
+
version: Schema.optionalWith<Schema.filter<Schema.filter<typeof Schema.Number>>, {
|
|
52
|
+
default: () => number;
|
|
53
|
+
}>;
|
|
54
|
+
panelType: Schema.Literal<["info", "warning", "note", "tip", "error", "panel"]>;
|
|
55
|
+
title: Schema.optional<typeof Schema.String>;
|
|
56
|
+
children: Schema.Array$<Schema.Union<[typeof import("./BlockNode.js").Heading, typeof import("./BlockNode.js").Paragraph, typeof import("./BlockNode.js").CodeBlock, typeof import("./BlockNode.js").ThematicBreak, typeof import("./BlockNode.js").Image, typeof import("./BlockNode.js").Table, typeof import("./BlockNode.js").UnsupportedBlock]>>;
|
|
57
|
+
rawSource: Schema.optional<typeof Schema.String>;
|
|
58
|
+
}>;
|
|
59
|
+
/**
|
|
60
|
+
* Type for InfoPanel.
|
|
61
|
+
*
|
|
62
|
+
* @category Types
|
|
63
|
+
*/
|
|
64
|
+
export type InfoPanel = Schema.Schema.Type<typeof InfoPanel>;
|
|
65
|
+
/**
|
|
66
|
+
* Expand/collapse macro.
|
|
67
|
+
*
|
|
68
|
+
* @category MacroNode
|
|
69
|
+
*/
|
|
70
|
+
export declare const ExpandMacro: Schema.Struct<{
|
|
71
|
+
_tag: Schema.Literal<["ExpandMacro"]>;
|
|
72
|
+
version: Schema.optionalWith<Schema.filter<Schema.filter<typeof Schema.Number>>, {
|
|
73
|
+
default: () => number;
|
|
74
|
+
}>;
|
|
75
|
+
title: Schema.optional<typeof Schema.String>;
|
|
76
|
+
children: Schema.Array$<Schema.Union<[typeof import("./BlockNode.js").Heading, typeof import("./BlockNode.js").Paragraph, typeof import("./BlockNode.js").CodeBlock, typeof import("./BlockNode.js").ThematicBreak, typeof import("./BlockNode.js").Image, typeof import("./BlockNode.js").Table, typeof import("./BlockNode.js").UnsupportedBlock]>>;
|
|
77
|
+
rawSource: Schema.optional<typeof Schema.String>;
|
|
78
|
+
}>;
|
|
79
|
+
/**
|
|
80
|
+
* Type for ExpandMacro.
|
|
81
|
+
*
|
|
82
|
+
* @category Types
|
|
83
|
+
*/
|
|
84
|
+
export type ExpandMacro = Schema.Schema.Type<typeof ExpandMacro>;
|
|
85
|
+
/**
|
|
86
|
+
* Table of contents macro.
|
|
87
|
+
*
|
|
88
|
+
* @category MacroNode
|
|
89
|
+
*/
|
|
90
|
+
export declare const TocMacro: Schema.Struct<{
|
|
91
|
+
_tag: Schema.Literal<["TocMacro"]>;
|
|
92
|
+
version: Schema.optionalWith<Schema.filter<Schema.filter<typeof Schema.Number>>, {
|
|
93
|
+
default: () => number;
|
|
94
|
+
}>;
|
|
95
|
+
minLevel: Schema.optional<typeof Schema.Number>;
|
|
96
|
+
maxLevel: Schema.optional<typeof Schema.Number>;
|
|
97
|
+
rawSource: Schema.optional<typeof Schema.String>;
|
|
98
|
+
}>;
|
|
99
|
+
/**
|
|
100
|
+
* Type for TocMacro.
|
|
101
|
+
*
|
|
102
|
+
* @category Types
|
|
103
|
+
*/
|
|
104
|
+
export type TocMacro = Schema.Schema.Type<typeof TocMacro>;
|
|
105
|
+
/**
|
|
106
|
+
* Code macro with syntax highlighting.
|
|
107
|
+
*
|
|
108
|
+
* @category MacroNode
|
|
109
|
+
*/
|
|
110
|
+
export declare const CodeMacro: Schema.Struct<{
|
|
111
|
+
_tag: Schema.Literal<["CodeMacro"]>;
|
|
112
|
+
version: Schema.optionalWith<Schema.filter<Schema.filter<typeof Schema.Number>>, {
|
|
113
|
+
default: () => number;
|
|
114
|
+
}>;
|
|
115
|
+
language: Schema.optional<typeof Schema.String>;
|
|
116
|
+
title: Schema.optional<typeof Schema.String>;
|
|
117
|
+
code: typeof Schema.String;
|
|
118
|
+
lineNumbers: Schema.optionalWith<typeof Schema.Boolean, {
|
|
119
|
+
default: () => false;
|
|
120
|
+
}>;
|
|
121
|
+
collapse: Schema.optionalWith<typeof Schema.Boolean, {
|
|
122
|
+
default: () => false;
|
|
123
|
+
}>;
|
|
124
|
+
firstLine: Schema.optional<typeof Schema.Number>;
|
|
125
|
+
rawSource: Schema.optional<typeof Schema.String>;
|
|
126
|
+
}>;
|
|
127
|
+
/**
|
|
128
|
+
* Type for CodeMacro.
|
|
129
|
+
*
|
|
130
|
+
* @category Types
|
|
131
|
+
*/
|
|
132
|
+
export type CodeMacro = Schema.Schema.Type<typeof CodeMacro>;
|
|
133
|
+
/**
|
|
134
|
+
* Status macro (colored label).
|
|
135
|
+
*
|
|
136
|
+
* @category MacroNode
|
|
137
|
+
*/
|
|
138
|
+
export declare const StatusMacro: Schema.Struct<{
|
|
139
|
+
_tag: Schema.Literal<["StatusMacro"]>;
|
|
140
|
+
version: Schema.optionalWith<Schema.filter<Schema.filter<typeof Schema.Number>>, {
|
|
141
|
+
default: () => number;
|
|
142
|
+
}>;
|
|
143
|
+
text: typeof Schema.String;
|
|
144
|
+
color: Schema.Literal<["Grey", "Red", "Yellow", "Green", "Blue"]>;
|
|
145
|
+
rawSource: Schema.optional<typeof Schema.String>;
|
|
146
|
+
}>;
|
|
147
|
+
/**
|
|
148
|
+
* Type for StatusMacro.
|
|
149
|
+
*
|
|
150
|
+
* @category Types
|
|
151
|
+
*/
|
|
152
|
+
export type StatusMacro = Schema.Schema.Type<typeof StatusMacro>;
|
|
153
|
+
/**
|
|
154
|
+
* Union of all macro node types.
|
|
155
|
+
*
|
|
156
|
+
* @category MacroNode
|
|
157
|
+
*/
|
|
158
|
+
export declare const MacroNode: Schema.Union<[Schema.Struct<{
|
|
159
|
+
_tag: Schema.Literal<["InfoPanel"]>;
|
|
160
|
+
version: Schema.optionalWith<Schema.filter<Schema.filter<typeof Schema.Number>>, {
|
|
161
|
+
default: () => number;
|
|
162
|
+
}>;
|
|
163
|
+
panelType: Schema.Literal<["info", "warning", "note", "tip", "error", "panel"]>;
|
|
164
|
+
title: Schema.optional<typeof Schema.String>;
|
|
165
|
+
children: Schema.Array$<Schema.Union<[typeof import("./BlockNode.js").Heading, typeof import("./BlockNode.js").Paragraph, typeof import("./BlockNode.js").CodeBlock, typeof import("./BlockNode.js").ThematicBreak, typeof import("./BlockNode.js").Image, typeof import("./BlockNode.js").Table, typeof import("./BlockNode.js").UnsupportedBlock]>>;
|
|
166
|
+
rawSource: Schema.optional<typeof Schema.String>;
|
|
167
|
+
}>, Schema.Struct<{
|
|
168
|
+
_tag: Schema.Literal<["ExpandMacro"]>;
|
|
169
|
+
version: Schema.optionalWith<Schema.filter<Schema.filter<typeof Schema.Number>>, {
|
|
170
|
+
default: () => number;
|
|
171
|
+
}>;
|
|
172
|
+
title: Schema.optional<typeof Schema.String>;
|
|
173
|
+
children: Schema.Array$<Schema.Union<[typeof import("./BlockNode.js").Heading, typeof import("./BlockNode.js").Paragraph, typeof import("./BlockNode.js").CodeBlock, typeof import("./BlockNode.js").ThematicBreak, typeof import("./BlockNode.js").Image, typeof import("./BlockNode.js").Table, typeof import("./BlockNode.js").UnsupportedBlock]>>;
|
|
174
|
+
rawSource: Schema.optional<typeof Schema.String>;
|
|
175
|
+
}>, Schema.Struct<{
|
|
176
|
+
_tag: Schema.Literal<["TocMacro"]>;
|
|
177
|
+
version: Schema.optionalWith<Schema.filter<Schema.filter<typeof Schema.Number>>, {
|
|
178
|
+
default: () => number;
|
|
179
|
+
}>;
|
|
180
|
+
minLevel: Schema.optional<typeof Schema.Number>;
|
|
181
|
+
maxLevel: Schema.optional<typeof Schema.Number>;
|
|
182
|
+
rawSource: Schema.optional<typeof Schema.String>;
|
|
183
|
+
}>, Schema.Struct<{
|
|
184
|
+
_tag: Schema.Literal<["CodeMacro"]>;
|
|
185
|
+
version: Schema.optionalWith<Schema.filter<Schema.filter<typeof Schema.Number>>, {
|
|
186
|
+
default: () => number;
|
|
187
|
+
}>;
|
|
188
|
+
language: Schema.optional<typeof Schema.String>;
|
|
189
|
+
title: Schema.optional<typeof Schema.String>;
|
|
190
|
+
code: typeof Schema.String;
|
|
191
|
+
lineNumbers: Schema.optionalWith<typeof Schema.Boolean, {
|
|
192
|
+
default: () => false;
|
|
193
|
+
}>;
|
|
194
|
+
collapse: Schema.optionalWith<typeof Schema.Boolean, {
|
|
195
|
+
default: () => false;
|
|
196
|
+
}>;
|
|
197
|
+
firstLine: Schema.optional<typeof Schema.Number>;
|
|
198
|
+
rawSource: Schema.optional<typeof Schema.String>;
|
|
199
|
+
}>, Schema.Struct<{
|
|
200
|
+
_tag: Schema.Literal<["StatusMacro"]>;
|
|
201
|
+
version: Schema.optionalWith<Schema.filter<Schema.filter<typeof Schema.Number>>, {
|
|
202
|
+
default: () => number;
|
|
203
|
+
}>;
|
|
204
|
+
text: typeof Schema.String;
|
|
205
|
+
color: Schema.Literal<["Grey", "Red", "Yellow", "Green", "Blue"]>;
|
|
206
|
+
rawSource: Schema.optional<typeof Schema.String>;
|
|
207
|
+
}>]>;
|
|
208
|
+
/**
|
|
209
|
+
* Type for macro nodes.
|
|
210
|
+
*
|
|
211
|
+
* @category Types
|
|
212
|
+
*/
|
|
213
|
+
export type MacroNode = InfoPanel | ExpandMacro | TocMacro | CodeMacro | StatusMacro;
|
|
214
|
+
//# sourceMappingURL=MacroNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MacroNode.d.ts","sourceRoot":"","sources":["../../src/ast/MacroNode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC;;;;GAIG;AACH,eAAO,MAAM,UAAU,+DAAgE,CAAA;AAEvF;;;;GAIG;AACH,eAAO,MAAM,SAAS,sEAAgC,CAAA;AAEtD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,CAAA;AAE5D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,SAAS;;;;;;;;;EAOpB,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,CAAA;AAE5D;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;;;;;EAMtB,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAA;AAEhE;;;;GAIG;AACH,eAAO,MAAM,QAAQ;;;;;;;;EAMnB,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAA;AAE1D;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;EAUpB,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,CAAA;AAE5D;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;;;;;EAMtB,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAA;AAEhE;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMrB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAA"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Confluence macro AST nodes (panels, expand, TOC, code, status).
|
|
3
|
+
*
|
|
4
|
+
* **Mental model**
|
|
5
|
+
*
|
|
6
|
+
* - **Macro = structured metadata + block children**: Each macro wraps Confluence-specific
|
|
7
|
+
* semantics (panel type, code language, status color) around standard block content.
|
|
8
|
+
* - **Serialization-friendly**: Macros carry enough metadata for Markdown comment encoding
|
|
9
|
+
* and ADF reconstruction.
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
import * as Schema from "effect/Schema";
|
|
14
|
+
import { RawSource, SchemaVersion, SimpleBlockNode } from "./BlockNode.js";
|
|
15
|
+
/**
|
|
16
|
+
* Supported panel type names.
|
|
17
|
+
*
|
|
18
|
+
* @category MacroNode
|
|
19
|
+
*/
|
|
20
|
+
export const PanelTypes = ["info", "warning", "note", "tip", "error", "panel"];
|
|
21
|
+
/**
|
|
22
|
+
* Panel type for info/warning/note macros.
|
|
23
|
+
*
|
|
24
|
+
* @category MacroNode
|
|
25
|
+
*/
|
|
26
|
+
export const PanelType = Schema.Literal(...PanelTypes);
|
|
27
|
+
/**
|
|
28
|
+
* Info/Warning/Note panel macro.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* import { InfoPanel, Paragraph, Text } from "@knpkv/atlassian-common/ast"
|
|
33
|
+
*
|
|
34
|
+
* const panel = {
|
|
35
|
+
* _tag: "InfoPanel" as const,
|
|
36
|
+
* panelType: "warning" as const,
|
|
37
|
+
* title: "Important",
|
|
38
|
+
* children: [new Paragraph({ children: [new Text({ value: "Be careful!" })] })]
|
|
39
|
+
* }
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @category MacroNode
|
|
43
|
+
*/
|
|
44
|
+
export const InfoPanel = Schema.Struct({
|
|
45
|
+
_tag: Schema.Literal("InfoPanel"),
|
|
46
|
+
version: SchemaVersion,
|
|
47
|
+
panelType: PanelType,
|
|
48
|
+
title: Schema.optional(Schema.String),
|
|
49
|
+
children: Schema.Array(SimpleBlockNode),
|
|
50
|
+
rawSource: RawSource
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* Expand/collapse macro.
|
|
54
|
+
*
|
|
55
|
+
* @category MacroNode
|
|
56
|
+
*/
|
|
57
|
+
export const ExpandMacro = Schema.Struct({
|
|
58
|
+
_tag: Schema.Literal("ExpandMacro"),
|
|
59
|
+
version: SchemaVersion,
|
|
60
|
+
title: Schema.optional(Schema.String),
|
|
61
|
+
children: Schema.Array(SimpleBlockNode),
|
|
62
|
+
rawSource: RawSource
|
|
63
|
+
});
|
|
64
|
+
/**
|
|
65
|
+
* Table of contents macro.
|
|
66
|
+
*
|
|
67
|
+
* @category MacroNode
|
|
68
|
+
*/
|
|
69
|
+
export const TocMacro = Schema.Struct({
|
|
70
|
+
_tag: Schema.Literal("TocMacro"),
|
|
71
|
+
version: SchemaVersion,
|
|
72
|
+
minLevel: Schema.optional(Schema.Number),
|
|
73
|
+
maxLevel: Schema.optional(Schema.Number),
|
|
74
|
+
rawSource: RawSource
|
|
75
|
+
});
|
|
76
|
+
/**
|
|
77
|
+
* Code macro with syntax highlighting.
|
|
78
|
+
*
|
|
79
|
+
* @category MacroNode
|
|
80
|
+
*/
|
|
81
|
+
export const CodeMacro = Schema.Struct({
|
|
82
|
+
_tag: Schema.Literal("CodeMacro"),
|
|
83
|
+
version: SchemaVersion,
|
|
84
|
+
language: Schema.optional(Schema.String),
|
|
85
|
+
title: Schema.optional(Schema.String),
|
|
86
|
+
code: Schema.String,
|
|
87
|
+
lineNumbers: Schema.optionalWith(Schema.Boolean, { default: () => false }),
|
|
88
|
+
collapse: Schema.optionalWith(Schema.Boolean, { default: () => false }),
|
|
89
|
+
firstLine: Schema.optional(Schema.Number),
|
|
90
|
+
rawSource: RawSource
|
|
91
|
+
});
|
|
92
|
+
/**
|
|
93
|
+
* Status macro (colored label).
|
|
94
|
+
*
|
|
95
|
+
* @category MacroNode
|
|
96
|
+
*/
|
|
97
|
+
export const StatusMacro = Schema.Struct({
|
|
98
|
+
_tag: Schema.Literal("StatusMacro"),
|
|
99
|
+
version: SchemaVersion,
|
|
100
|
+
text: Schema.String,
|
|
101
|
+
color: Schema.Literal("Grey", "Red", "Yellow", "Green", "Blue"),
|
|
102
|
+
rawSource: RawSource
|
|
103
|
+
});
|
|
104
|
+
/**
|
|
105
|
+
* Union of all macro node types.
|
|
106
|
+
*
|
|
107
|
+
* @category MacroNode
|
|
108
|
+
*/
|
|
109
|
+
export const MacroNode = Schema.Union(InfoPanel, ExpandMacro, TocMacro, CodeMacro, StatusMacro);
|
|
110
|
+
//# sourceMappingURL=MacroNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MacroNode.js","sourceRoot":"","sources":["../../src/ast/MacroNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Barrel export for Atlassian AST node types and constructors.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
export { ColoredText, DateTime, Emoticon, Emphasis, Highlight, InlineCode, InlineNode, type InlineNode as InlineNodeType, InlineNodeChildren, LineBreak, Link, RawSource as InlineRawSource, Strikethrough, Strong, Subscript, Superscript, Text, Underline, UnsupportedInline, UserMention } from "./InlineNode.js";
|
|
7
|
+
export { BlockNode, type BlockNode as BlockNodeType, BlockQuote, CodeBlock, Heading, Image, ImageAttachment, type ImageAttachment as ImageAttachmentType, List, ListItem, Paragraph, RawSource, SchemaVersion, SimpleBlockNode, Table, TableCell, TableRow, TaskItem, type TaskItem as TaskItemType, TaskList, type TaskList as TaskListType, TextAlignment, type TextAlignment as TextAlignmentValue, ThematicBreak, UnsupportedBlock } from "./BlockNode.js";
|
|
8
|
+
export { CodeMacro, type CodeMacro as CodeMacroType, ExpandMacro, type ExpandMacro as ExpandMacroType, InfoPanel, type InfoPanel as InfoPanelType, MacroNode, type MacroNode as MacroNodeType, PanelType, type PanelType as PanelTypeValue, PanelTypes, StatusMacro, type StatusMacro as StatusMacroType, TocMacro, type TocMacro as TocMacroType } from "./MacroNode.js";
|
|
9
|
+
export { Document, type Document as DocumentType, DocumentNode, type DocumentNode as DocumentNodeType, isDocument, makeDocument } from "./Document.js";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,UAAU,EACV,UAAU,EACV,KAAK,UAAU,IAAI,cAAc,EACjC,kBAAkB,EAClB,SAAS,EACT,IAAI,EACJ,SAAS,IAAI,eAAe,EAC5B,aAAa,EACb,MAAM,EACN,SAAS,EACT,WAAW,EACX,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,WAAW,EACZ,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,SAAS,EACT,KAAK,SAAS,IAAI,aAAa,EAC/B,UAAU,EACV,SAAS,EACT,OAAO,EACP,KAAK,EACL,eAAe,EACf,KAAK,eAAe,IAAI,mBAAmB,EAC3C,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,aAAa,EACb,eAAe,EACf,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,QAAQ,IAAI,YAAY,EAC7B,QAAQ,EACR,KAAK,QAAQ,IAAI,YAAY,EAC7B,aAAa,EACb,KAAK,aAAa,IAAI,kBAAkB,EACxC,aAAa,EACb,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,SAAS,EACT,KAAK,SAAS,IAAI,aAAa,EAC/B,WAAW,EACX,KAAK,WAAW,IAAI,eAAe,EACnC,SAAS,EACT,KAAK,SAAS,IAAI,aAAa,EAC/B,SAAS,EACT,KAAK,SAAS,IAAI,aAAa,EAC/B,SAAS,EACT,KAAK,SAAS,IAAI,cAAc,EAChC,UAAU,EACV,WAAW,EACX,KAAK,WAAW,IAAI,eAAe,EACnC,QAAQ,EACR,KAAK,QAAQ,IAAI,YAAY,EAC9B,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,QAAQ,EACR,KAAK,QAAQ,IAAI,YAAY,EAC7B,YAAY,EACZ,KAAK,YAAY,IAAI,gBAAgB,EACrC,UAAU,EACV,YAAY,EACb,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Barrel export for Atlassian AST node types and constructors.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
// Inline nodes
|
|
7
|
+
export { ColoredText, DateTime, Emoticon, Emphasis, Highlight, InlineCode, InlineNode, InlineNodeChildren, LineBreak, Link, RawSource as InlineRawSource, Strikethrough, Strong, Subscript, Superscript, Text, Underline, UnsupportedInline, UserMention } from "./InlineNode.js";
|
|
8
|
+
// Block nodes
|
|
9
|
+
export { BlockNode, BlockQuote, CodeBlock, Heading, Image, ImageAttachment, List, ListItem, Paragraph, RawSource, SchemaVersion, SimpleBlockNode, Table, TableCell, TableRow, TaskItem, TaskList, TextAlignment, ThematicBreak, UnsupportedBlock } from "./BlockNode.js";
|
|
10
|
+
// Macro nodes
|
|
11
|
+
export { CodeMacro, ExpandMacro, InfoPanel, MacroNode, PanelType, PanelTypes, StatusMacro, TocMacro } from "./MacroNode.js";
|
|
12
|
+
// Document
|
|
13
|
+
export { Document, DocumentNode, isDocument, makeDocument } from "./Document.js";
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAe;AACf,OAAO,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,UAAU,EACV,UAAU,EAEV,kBAAkB,EAClB,SAAS,EACT,IAAI,EACJ,SAAS,IAAI,eAAe,EAC5B,aAAa,EACb,MAAM,EACN,SAAS,EACT,WAAW,EACX,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,WAAW,EACZ,MAAM,iBAAiB,CAAA;AAExB,cAAc;AACd,OAAO,EACL,SAAS,EAET,UAAU,EACV,SAAS,EACT,OAAO,EACP,KAAK,EACL,eAAe,EAEf,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,aAAa,EACb,eAAe,EACf,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EAER,QAAQ,EAER,aAAa,EAEb,aAAa,EACb,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AAEvB,cAAc;AACd,OAAO,EACL,SAAS,EAET,WAAW,EAEX,SAAS,EAET,SAAS,EAET,SAAS,EAET,UAAU,EACV,WAAW,EAEX,QAAQ,EAET,MAAM,gBAAgB,CAAA;AAEvB,WAAW;AACX,OAAO,EACL,QAAQ,EAER,YAAY,EAEZ,UAAU,EACV,YAAY,EACb,MAAM,eAAe,CAAA"}
|