@refrakt-md/runes 0.1.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.
Files changed (217) hide show
  1. package/dist/attributes.d.ts +15 -0
  2. package/dist/attributes.d.ts.map +1 -0
  3. package/dist/attributes.js +46 -0
  4. package/dist/attributes.js.map +1 -0
  5. package/dist/documents/doc.d.ts +4 -0
  6. package/dist/documents/doc.d.ts.map +1 -0
  7. package/dist/documents/doc.js +4 -0
  8. package/dist/documents/doc.js.map +1 -0
  9. package/dist/documents/footer.d.ts +2 -0
  10. package/dist/documents/footer.d.ts.map +1 -0
  11. package/dist/documents/footer.js +60 -0
  12. package/dist/documents/footer.js.map +1 -0
  13. package/dist/documents/menu.d.ts +2 -0
  14. package/dist/documents/menu.d.ts.map +1 -0
  15. package/dist/documents/menu.js +40 -0
  16. package/dist/documents/menu.js.map +1 -0
  17. package/dist/documents/page.d.ts +10 -0
  18. package/dist/documents/page.d.ts.map +1 -0
  19. package/dist/documents/page.js +30 -0
  20. package/dist/documents/page.js.map +1 -0
  21. package/dist/documents/summary.d.ts +3 -0
  22. package/dist/documents/summary.d.ts.map +1 -0
  23. package/dist/documents/summary.js +63 -0
  24. package/dist/documents/summary.js.map +1 -0
  25. package/dist/hljs-markdoc.d.ts +3 -0
  26. package/dist/hljs-markdoc.d.ts.map +1 -0
  27. package/dist/hljs-markdoc.js +37 -0
  28. package/dist/hljs-markdoc.js.map +1 -0
  29. package/dist/index.d.ts +131 -0
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +295 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/interfaces.d.ts +44 -0
  34. package/dist/interfaces.d.ts.map +1 -0
  35. package/dist/interfaces.js +11 -0
  36. package/dist/interfaces.js.map +1 -0
  37. package/dist/layouts/grid.d.ts +23 -0
  38. package/dist/layouts/grid.d.ts.map +1 -0
  39. package/dist/layouts/grid.js +30 -0
  40. package/dist/layouts/grid.js.map +1 -0
  41. package/dist/layouts/index.d.ts +3 -0
  42. package/dist/layouts/index.d.ts.map +1 -0
  43. package/dist/layouts/index.js +3 -0
  44. package/dist/layouts/index.js.map +1 -0
  45. package/dist/layouts/split.d.ts +15 -0
  46. package/dist/layouts/split.d.ts.map +1 -0
  47. package/dist/layouts/split.js +26 -0
  48. package/dist/layouts/split.js.map +1 -0
  49. package/dist/lib/annotations/annotation.d.ts +11 -0
  50. package/dist/lib/annotations/annotation.d.ts.map +1 -0
  51. package/dist/lib/annotations/annotation.js +21 -0
  52. package/dist/lib/annotations/annotation.js.map +1 -0
  53. package/dist/lib/annotations/attribute.d.ts +12 -0
  54. package/dist/lib/annotations/attribute.d.ts.map +1 -0
  55. package/dist/lib/annotations/attribute.js +17 -0
  56. package/dist/lib/annotations/attribute.js.map +1 -0
  57. package/dist/lib/annotations/decoration.d.ts +10 -0
  58. package/dist/lib/annotations/decoration.d.ts.map +1 -0
  59. package/dist/lib/annotations/decoration.js +46 -0
  60. package/dist/lib/annotations/decoration.js.map +1 -0
  61. package/dist/lib/annotations/group.d.ts +24 -0
  62. package/dist/lib/annotations/group.d.ts.map +1 -0
  63. package/dist/lib/annotations/group.js +78 -0
  64. package/dist/lib/annotations/group.js.map +1 -0
  65. package/dist/lib/annotations/id.d.ts +19 -0
  66. package/dist/lib/annotations/id.d.ts.map +1 -0
  67. package/dist/lib/annotations/id.js +32 -0
  68. package/dist/lib/annotations/id.js.map +1 -0
  69. package/dist/lib/annotations/interfaces.d.ts +27 -0
  70. package/dist/lib/annotations/interfaces.d.ts.map +1 -0
  71. package/dist/lib/annotations/interfaces.js +2 -0
  72. package/dist/lib/annotations/interfaces.js.map +1 -0
  73. package/dist/lib/component.d.ts +26 -0
  74. package/dist/lib/component.d.ts.map +1 -0
  75. package/dist/lib/component.js +28 -0
  76. package/dist/lib/component.js.map +1 -0
  77. package/dist/lib/index.d.ts +10 -0
  78. package/dist/lib/index.d.ts.map +1 -0
  79. package/dist/lib/index.js +25 -0
  80. package/dist/lib/index.js.map +1 -0
  81. package/dist/lib/model.d.ts +13 -0
  82. package/dist/lib/model.d.ts.map +1 -0
  83. package/dist/lib/model.js +33 -0
  84. package/dist/lib/model.js.map +1 -0
  85. package/dist/lib/node.d.ts +18 -0
  86. package/dist/lib/node.d.ts.map +1 -0
  87. package/dist/lib/node.js +49 -0
  88. package/dist/lib/node.js.map +1 -0
  89. package/dist/lib/renderable.d.ts +22 -0
  90. package/dist/lib/renderable.d.ts.map +1 -0
  91. package/dist/lib/renderable.js +52 -0
  92. package/dist/lib/renderable.js.map +1 -0
  93. package/dist/lib/types.d.ts +8 -0
  94. package/dist/lib/types.d.ts.map +1 -0
  95. package/dist/lib/types.js +14 -0
  96. package/dist/lib/types.js.map +1 -0
  97. package/dist/nodes.d.ts +18 -0
  98. package/dist/nodes.d.ts.map +1 -0
  99. package/dist/nodes.js +181 -0
  100. package/dist/nodes.js.map +1 -0
  101. package/dist/registry.d.ts +47 -0
  102. package/dist/registry.d.ts.map +1 -0
  103. package/dist/registry.js +60 -0
  104. package/dist/registry.js.map +1 -0
  105. package/dist/rune.d.ts +34 -0
  106. package/dist/rune.d.ts.map +1 -0
  107. package/dist/rune.js +29 -0
  108. package/dist/rune.js.map +1 -0
  109. package/dist/tags/accordion.d.ts +4 -0
  110. package/dist/tags/accordion.d.ts.map +1 -0
  111. package/dist/tags/accordion.js +98 -0
  112. package/dist/tags/accordion.js.map +1 -0
  113. package/dist/tags/breadcrumb.d.ts +3 -0
  114. package/dist/tags/breadcrumb.d.ts.map +1 -0
  115. package/dist/tags/breadcrumb.js +76 -0
  116. package/dist/tags/breadcrumb.js.map +1 -0
  117. package/dist/tags/changelog.d.ts +4 -0
  118. package/dist/tags/changelog.d.ts.map +1 -0
  119. package/dist/tags/changelog.js +124 -0
  120. package/dist/tags/changelog.js.map +1 -0
  121. package/dist/tags/codegroup.d.ts +2 -0
  122. package/dist/tags/codegroup.d.ts.map +1 -0
  123. package/dist/tags/codegroup.js +60 -0
  124. package/dist/tags/codegroup.js.map +1 -0
  125. package/dist/tags/common.d.ts +17 -0
  126. package/dist/tags/common.d.ts.map +1 -0
  127. package/dist/tags/common.js +61 -0
  128. package/dist/tags/common.js.map +1 -0
  129. package/dist/tags/compare.d.ts +3 -0
  130. package/dist/tags/compare.d.ts.map +1 -0
  131. package/dist/tags/compare.js +61 -0
  132. package/dist/tags/compare.js.map +1 -0
  133. package/dist/tags/cta.d.ts +3 -0
  134. package/dist/tags/cta.d.ts.map +1 -0
  135. package/dist/tags/cta.js +75 -0
  136. package/dist/tags/cta.js.map +1 -0
  137. package/dist/tags/details.d.ts +3 -0
  138. package/dist/tags/details.d.ts.map +1 -0
  139. package/dist/tags/details.js +55 -0
  140. package/dist/tags/details.js.map +1 -0
  141. package/dist/tags/embed.d.ts +3 -0
  142. package/dist/tags/embed.d.ts.map +1 -0
  143. package/dist/tags/embed.js +130 -0
  144. package/dist/tags/embed.js.map +1 -0
  145. package/dist/tags/error.d.ts +3 -0
  146. package/dist/tags/error.d.ts.map +1 -0
  147. package/dist/tags/error.js +50 -0
  148. package/dist/tags/error.js.map +1 -0
  149. package/dist/tags/feature.d.ts +16 -0
  150. package/dist/tags/feature.d.ts.map +1 -0
  151. package/dist/tags/feature.js +98 -0
  152. package/dist/tags/feature.js.map +1 -0
  153. package/dist/tags/figure.d.ts +3 -0
  154. package/dist/tags/figure.d.ts.map +1 -0
  155. package/dist/tags/figure.js +64 -0
  156. package/dist/tags/figure.js.map +1 -0
  157. package/dist/tags/grid.d.ts +2 -0
  158. package/dist/tags/grid.d.ts.map +1 -0
  159. package/dist/tags/grid.js +56 -0
  160. package/dist/tags/grid.js.map +1 -0
  161. package/dist/tags/hero.d.ts +3 -0
  162. package/dist/tags/hero.d.ts.map +1 -0
  163. package/dist/tags/hero.js +75 -0
  164. package/dist/tags/hero.js.map +1 -0
  165. package/dist/tags/hint.d.ts +3 -0
  166. package/dist/tags/hint.d.ts.map +1 -0
  167. package/dist/tags/hint.js +41 -0
  168. package/dist/tags/hint.js.map +1 -0
  169. package/dist/tags/layout.d.ts +3 -0
  170. package/dist/tags/layout.d.ts.map +1 -0
  171. package/dist/tags/layout.js +32 -0
  172. package/dist/tags/layout.js.map +1 -0
  173. package/dist/tags/music-playlist.d.ts +3 -0
  174. package/dist/tags/music-playlist.d.ts.map +1 -0
  175. package/dist/tags/music-playlist.js +80 -0
  176. package/dist/tags/music-playlist.js.map +1 -0
  177. package/dist/tags/music-recording.d.ts +17 -0
  178. package/dist/tags/music-recording.d.ts.map +1 -0
  179. package/dist/tags/music-recording.js +99 -0
  180. package/dist/tags/music-recording.js.map +1 -0
  181. package/dist/tags/nav.d.ts +3 -0
  182. package/dist/tags/nav.d.ts.map +1 -0
  183. package/dist/tags/nav.js +114 -0
  184. package/dist/tags/nav.js.map +1 -0
  185. package/dist/tags/pricing.d.ts +12 -0
  186. package/dist/tags/pricing.d.ts.map +1 -0
  187. package/dist/tags/pricing.js +78 -0
  188. package/dist/tags/pricing.js.map +1 -0
  189. package/dist/tags/region.d.ts +3 -0
  190. package/dist/tags/region.d.ts.map +1 -0
  191. package/dist/tags/region.js +37 -0
  192. package/dist/tags/region.js.map +1 -0
  193. package/dist/tags/steps.d.ts +4 -0
  194. package/dist/tags/steps.d.ts.map +1 -0
  195. package/dist/tags/steps.js +71 -0
  196. package/dist/tags/steps.js.map +1 -0
  197. package/dist/tags/tabs.d.ts +4 -0
  198. package/dist/tags/tabs.d.ts.map +1 -0
  199. package/dist/tags/tabs.js +119 -0
  200. package/dist/tags/tabs.js.map +1 -0
  201. package/dist/tags/testimonial.d.ts +3 -0
  202. package/dist/tags/testimonial.d.ts.map +1 -0
  203. package/dist/tags/testimonial.js +99 -0
  204. package/dist/tags/testimonial.js.map +1 -0
  205. package/dist/tags/timeline.d.ts +4 -0
  206. package/dist/tags/timeline.d.ts.map +1 -0
  207. package/dist/tags/timeline.js +125 -0
  208. package/dist/tags/timeline.js.map +1 -0
  209. package/dist/tags/toc.d.ts +3 -0
  210. package/dist/tags/toc.d.ts.map +1 -0
  211. package/dist/tags/toc.js +53 -0
  212. package/dist/tags/toc.js.map +1 -0
  213. package/dist/util.d.ts +21 -0
  214. package/dist/util.d.ts.map +1 -0
  215. package/dist/util.js +99 -0
  216. package/dist/util.js.map +1 -0
  217. package/package.json +37 -0
package/dist/index.js ADDED
@@ -0,0 +1,295 @@
1
+ import { heading, paragraph, fence, list, item, em, strong, text, link, hardbreak, image } from './nodes.js';
2
+ export { Page } from './documents/page.js';
3
+ import { DocPage } from './documents/doc.js';
4
+ import { cta } from './tags/cta.js';
5
+ import { error } from './tags/error.js';
6
+ import { grid } from './tags/grid.js';
7
+ import { codegroup } from './tags/codegroup.js';
8
+ import { feature, definition } from './tags/feature.js';
9
+ import { hint } from './tags/hint.js';
10
+ import { steps, step } from './tags/steps.js';
11
+ import { tab, tabs } from './tags/tabs.js';
12
+ import { pricing, tier } from './tags/pricing.js';
13
+ import { musicPlaylist } from './tags/music-playlist.js';
14
+ import { musicRecording } from './tags/music-recording.js';
15
+ import { nav } from './tags/nav.js';
16
+ import { region } from './tags/region.js';
17
+ import { layout } from './tags/layout.js';
18
+ import { details } from './tags/details.js';
19
+ import { figure } from './tags/figure.js';
20
+ import { accordion, accordionItem } from './tags/accordion.js';
21
+ import { toc } from './tags/toc.js';
22
+ import { hero } from './tags/hero.js';
23
+ import { testimonial } from './tags/testimonial.js';
24
+ import { timeline, timelineEntry } from './tags/timeline.js';
25
+ import { changelog, changelogRelease } from './tags/changelog.js';
26
+ import { embed } from './tags/embed.js';
27
+ import { breadcrumb } from './tags/breadcrumb.js';
28
+ import { compare } from './tags/compare.js';
29
+ import Markdoc from '@markdoc/markdoc';
30
+ import { schema } from './registry.js';
31
+ import { defineRune, runeTagMap } from './rune.js';
32
+ export * from './interfaces.js';
33
+ export { Rune, defineRune, runeTagMap } from './rune.js';
34
+ export { RenderableNodeCursor } from './lib/renderable.js';
35
+ export { schema } from './registry.js';
36
+ export { createSchema } from './lib/index.js';
37
+ export { Model } from './lib/model.js';
38
+ export { extractHeadings } from './util.js';
39
+ export const documents = {
40
+ doc: new DocPage(),
41
+ };
42
+ export const runes = {
43
+ nav: defineRune({
44
+ name: 'nav',
45
+ schema: nav,
46
+ description: 'Navigation structure with page slug references and optional grouping',
47
+ reinterprets: { heading: 'nav group title', list: 'page references (slugs)' },
48
+ type: schema.Nav,
49
+ }),
50
+ region: defineRune({
51
+ name: 'region',
52
+ schema: region,
53
+ description: 'Named content block within a layout definition',
54
+ }),
55
+ layout: defineRune({
56
+ name: 'layout',
57
+ schema: layout,
58
+ description: 'Layout definition containing named regions',
59
+ }),
60
+ cta: defineRune({
61
+ name: 'cta',
62
+ aliases: ['call-to-action'],
63
+ schema: cta,
64
+ description: 'Call-to-action section with headline, actions, and optional showcase',
65
+ reinterprets: { heading: 'section headline', paragraph: 'blurb', list: 'action items', fence: 'command' },
66
+ type: schema.CallToAction,
67
+ }),
68
+ codegroup: defineRune({
69
+ name: 'codegroup',
70
+ schema: codegroup,
71
+ description: 'Tabbed code editor with multiple code blocks',
72
+ reinterprets: { fence: 'editor tab content', hr: 'section delimiter' },
73
+ type: schema.Editor,
74
+ }),
75
+ error: defineRune({
76
+ name: 'error',
77
+ schema: error,
78
+ description: 'Error reporting table',
79
+ type: schema.Error,
80
+ }),
81
+ feature: defineRune({
82
+ name: 'feature',
83
+ schema: feature,
84
+ description: 'Feature showcase with definition list of items',
85
+ reinterprets: { heading: 'section headline', paragraph: 'description', list: 'feature definitions', image: 'feature icon' },
86
+ type: schema.Feature,
87
+ }),
88
+ definition: defineRune({
89
+ name: 'definition',
90
+ schema: definition,
91
+ description: 'Individual feature definition with icon, name, and description',
92
+ reinterprets: { heading: 'feature name', paragraph: 'feature description', image: 'feature icon' },
93
+ type: schema.FeatureDefinition,
94
+ }),
95
+ grid: defineRune({
96
+ name: 'grid',
97
+ aliases: ['columns'],
98
+ schema: grid,
99
+ description: 'Grid layout container with configurable columns and rows',
100
+ reinterprets: { hr: 'grid cell delimiter' },
101
+ type: schema.Grid,
102
+ }),
103
+ hint: defineRune({
104
+ name: 'hint',
105
+ aliases: ['callout', 'alert'],
106
+ schema: hint,
107
+ description: 'Callout/admonition block with type variants (note, warning, caution, check)',
108
+ reinterprets: { paragraph: 'message body' },
109
+ type: schema.Hint,
110
+ }),
111
+ tab: defineRune({
112
+ name: 'tab',
113
+ schema: tab,
114
+ description: 'Individual tab within a tab group',
115
+ type: schema.Tab,
116
+ }),
117
+ tabs: defineRune({
118
+ name: 'tabs',
119
+ schema: tabs,
120
+ description: 'Tabbed interface with tab panels',
121
+ reinterprets: { heading: 'tab name' },
122
+ type: schema.TabGroup,
123
+ }),
124
+ step: defineRune({
125
+ name: 'step',
126
+ schema: step,
127
+ description: 'Individual step within a steps sequence',
128
+ type: schema.Step,
129
+ }),
130
+ steps: defineRune({
131
+ name: 'steps',
132
+ schema: steps,
133
+ description: 'Sequential step-by-step instructions',
134
+ reinterprets: { heading: 'step name', paragraph: 'step content' },
135
+ type: schema.Steps,
136
+ }),
137
+ pricing: defineRune({
138
+ name: 'pricing',
139
+ schema: pricing,
140
+ description: 'Pricing table with tier comparison',
141
+ reinterprets: { heading: 'section headline', paragraph: 'section description' },
142
+ seoType: 'Product',
143
+ type: schema.Pricing,
144
+ }),
145
+ tier: defineRune({
146
+ name: 'tier',
147
+ schema: tier,
148
+ description: 'Individual pricing tier with name, price, and features',
149
+ seoType: 'Offer',
150
+ type: schema.Tier,
151
+ }),
152
+ 'music-playlist': defineRune({
153
+ name: 'music-playlist',
154
+ schema: musicPlaylist,
155
+ description: 'Music playlist with track listing',
156
+ reinterprets: { heading: 'playlist name', list: 'track listing' },
157
+ seoType: 'MusicPlaylist',
158
+ type: schema.MusicPlaylist,
159
+ }),
160
+ 'music-recording': defineRune({
161
+ name: 'music-recording',
162
+ schema: musicRecording,
163
+ description: 'Individual music track metadata',
164
+ seoType: 'MusicRecording',
165
+ type: schema.MusicRecording,
166
+ }),
167
+ details: defineRune({
168
+ name: 'details',
169
+ schema: details,
170
+ description: 'Collapsible disclosure block for supplementary content',
171
+ reinterprets: { heading: 'summary label', paragraph: 'hidden content' },
172
+ type: schema.Details,
173
+ }),
174
+ figure: defineRune({
175
+ name: 'figure',
176
+ schema: figure,
177
+ description: 'Enhanced image with caption, attribution, and sizing',
178
+ reinterprets: { image: 'figure image', paragraph: 'caption' },
179
+ seoType: 'ImageObject',
180
+ type: schema.Figure,
181
+ }),
182
+ accordion: defineRune({
183
+ name: 'accordion',
184
+ aliases: ['faq'],
185
+ schema: accordion,
186
+ description: 'Collapsible accordion sections where headings become toggleable headers',
187
+ reinterprets: { heading: 'accordion section header', paragraph: 'collapsible panel content' },
188
+ seoType: 'FAQPage',
189
+ type: schema.Accordion,
190
+ }),
191
+ 'accordion-item': defineRune({
192
+ name: 'accordion-item',
193
+ schema: accordionItem,
194
+ description: 'Individual accordion section',
195
+ type: schema.AccordionItem,
196
+ }),
197
+ toc: defineRune({
198
+ name: 'toc',
199
+ aliases: ['table-of-contents'],
200
+ schema: toc,
201
+ description: 'Auto-generated table of contents from document headings',
202
+ type: schema.TableOfContents,
203
+ }),
204
+ hero: defineRune({
205
+ name: 'hero',
206
+ schema: hero,
207
+ description: 'Full-width introductory section for landing pages with title, subtitle, and call-to-action',
208
+ reinterprets: { heading: 'hero title', paragraph: 'subtitle/tagline', list: 'action buttons', image: 'hero image' },
209
+ type: schema.Hero,
210
+ }),
211
+ testimonial: defineRune({
212
+ name: 'testimonial',
213
+ aliases: ['review'],
214
+ schema: testimonial,
215
+ description: 'Customer testimonial or review with quote, author attribution, and optional rating',
216
+ reinterprets: { blockquote: 'testimonial quote', strong: 'author name', paragraph: 'author role', image: 'avatar' },
217
+ seoType: 'Review',
218
+ type: schema.Testimonial,
219
+ }),
220
+ timeline: defineRune({
221
+ name: 'timeline',
222
+ schema: timeline,
223
+ description: 'Chronological event display where headings become dated milestones',
224
+ reinterprets: { heading: 'date and milestone label', paragraph: 'event description' },
225
+ seoType: 'ItemList',
226
+ type: schema.Timeline,
227
+ }),
228
+ 'timeline-entry': defineRune({
229
+ name: 'timeline-entry',
230
+ schema: timelineEntry,
231
+ description: 'Individual timeline entry with date and label',
232
+ type: schema.TimelineEntry,
233
+ }),
234
+ changelog: defineRune({
235
+ name: 'changelog',
236
+ schema: changelog,
237
+ description: 'Version history where headings become releases with categorized changes',
238
+ reinterprets: { heading: 'version number and date', list: 'categorized changes', strong: 'change category' },
239
+ type: schema.Changelog,
240
+ }),
241
+ 'changelog-release': defineRune({
242
+ name: 'changelog-release',
243
+ schema: changelogRelease,
244
+ description: 'Individual changelog release with version and date',
245
+ type: schema.ChangelogRelease,
246
+ }),
247
+ embed: defineRune({
248
+ name: 'embed',
249
+ schema: embed,
250
+ description: 'Embedded content from external services (YouTube, Twitter, CodePen, Spotify)',
251
+ reinterprets: { paragraph: 'fallback text' },
252
+ seoType: 'VideoObject',
253
+ type: schema.Embed,
254
+ }),
255
+ breadcrumb: defineRune({
256
+ name: 'breadcrumb',
257
+ schema: breadcrumb,
258
+ description: 'Navigation breadcrumb trail showing page hierarchy',
259
+ reinterprets: { list: 'breadcrumb path items', link: 'breadcrumb link' },
260
+ seoType: 'BreadcrumbList',
261
+ type: schema.Breadcrumb,
262
+ }),
263
+ compare: defineRune({
264
+ name: 'compare',
265
+ schema: compare,
266
+ description: 'Side-by-side code comparison with labeled panels',
267
+ reinterprets: { fence: 'comparison panel' },
268
+ type: schema.Compare,
269
+ }),
270
+ };
271
+ /** Markdoc-compatible tags map derived from runes + Markdoc built-in tags */
272
+ export const tags = {
273
+ ...runeTagMap(runes),
274
+ ...Markdoc.tags,
275
+ };
276
+ export const nodes = {
277
+ heading,
278
+ paragraph,
279
+ fence,
280
+ list,
281
+ item,
282
+ em,
283
+ strong,
284
+ text,
285
+ link,
286
+ hardbreak,
287
+ image,
288
+ table: Markdoc.nodes.table,
289
+ thead: Markdoc.nodes.thead,
290
+ tbody: Markdoc.nodes.tbody,
291
+ th: Markdoc.nodes.th,
292
+ tr: Markdoc.nodes.tr,
293
+ error: Markdoc.nodes.error,
294
+ };
295
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { NodeType } from '@refrakt-md/types';
2
+ import Markdoc from '@markdoc/markdoc';
3
+ import type { Config, Node, NodeType as MarkdocNodeType, Tag } from '@markdoc/markdoc';
4
+ declare const Ast: {
5
+ fromJSON: (text: string) => Node | Node[];
6
+ isAst(value?: any): value is Markdoc.AstType;
7
+ isFunction(value?: any): value is import("@markdoc/markdoc/dist/src/ast/function.js").default;
8
+ isVariable(value?: any): value is import("@markdoc/markdoc/dist/src/ast/variable.js").default;
9
+ getAstValues(value: any): Generator<Markdoc.AstType, void, unknown>;
10
+ resolve(value: any, config?: Readonly<Partial<{
11
+ nodes: Partial<Record<import("@markdoc/markdoc/dist/src/types.js").NodeType, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>>;
12
+ tags: Record<string, import("@markdoc/markdoc/dist/src/types.js").Schema<Readonly<Partial<any>>, string>>;
13
+ variables: Record<string, any>;
14
+ functions: Record<string, import("@markdoc/markdoc/dist/src/types.js").ConfigFunction>;
15
+ partials: Record<string, any>;
16
+ validation?: {
17
+ parents?: Node[] | undefined;
18
+ validateFunctions?: boolean | undefined;
19
+ environment?: string | undefined;
20
+ } | undefined;
21
+ }>>): any;
22
+ Function: typeof import("@markdoc/markdoc/dist/src/ast/function.js").default;
23
+ Node: typeof Node;
24
+ Variable: typeof import("@markdoc/markdoc/dist/src/ast/variable.js").default;
25
+ };
26
+ export interface NodeFilterOptions {
27
+ node?: MarkdocNodeType;
28
+ limit?: number;
29
+ descendant?: string;
30
+ deep?: boolean;
31
+ }
32
+ export type NodeFilterFunction = (node: Node) => boolean;
33
+ export type NodeFilter = MarkdocNodeType | NodeFilterOptions | NodeFilterFunction;
34
+ export interface Group {
35
+ section?: number;
36
+ include?: NodeFilter[];
37
+ }
38
+ export declare class TypedNode<IN extends MarkdocNodeType, OUT extends NodeType> extends Ast.Node {
39
+ constructor(type: IN, attributes: Record<string, any>, children: Node[], tag?: string);
40
+ transform(config: Config): Tag<OUT>;
41
+ }
42
+ export type TransformFunction<T extends NodeType> = (node: Node, config: Config) => Tag<T>;
43
+ export {};
44
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,IAAI,eAAe,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvF,QAAA,MAAQ,GAAG;;;;;;;;;;;;kBA8BT,CAAF;mBAGgB,CAAC;6BAAmD,CAAC;uBAC9C,CAAC;;;;;;CAlCD,CAAC;AAExB,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;AAEzD,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAElF,MAAM,WAAW,KAAK;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,qBAAa,SAAS,CAAC,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,QAAQ,CAAE,SAAQ,GAAG,CAAC,IAAI;gBAErF,IAAI,EAAE,EAAE,EACR,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,QAAQ,EAAE,IAAI,EAAE,EAChB,GAAG,CAAC,EAAE,MAAM;IAKd,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;CAGpC;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ const { Ast } = Markdoc;
3
+ export class TypedNode extends Ast.Node {
4
+ constructor(type, attributes, children, tag) {
5
+ super(type, attributes, children, tag);
6
+ }
7
+ transform(config) {
8
+ return super.transform(config);
9
+ }
10
+ }
11
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AAkBxB,MAAM,OAAO,SAA4D,SAAQ,GAAG,CAAC,IAAI;IACvF,YACE,IAAQ,EACR,UAA+B,EAC/B,QAAgB,EAChB,GAAY;QAEZ,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAa,CAAC;IAC7C,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ import { RenderableNodeCursor } from '../lib/renderable.js';
3
+ export declare const flow: readonly ["row", "column", "dense", "row dense", "column dense"];
4
+ export type GridFlow = typeof flow[number];
5
+ export interface GridItem {
6
+ colspan?: number;
7
+ rowspan?: number;
8
+ children: RenderableNodeCursor;
9
+ }
10
+ export interface GridLayoutOptions {
11
+ items: GridItem[];
12
+ columns?: number;
13
+ rows?: number;
14
+ flow?: GridFlow;
15
+ }
16
+ export declare function gridItems(layout: string[], content: RenderableNodeCursor[]): GridItem[];
17
+ export declare function gridLayout(options: GridLayoutOptions): Markdoc.Tag<"div", {
18
+ 'data-layout': string;
19
+ 'data-columns': number | undefined;
20
+ 'data-rows': number | undefined;
21
+ 'data-flow': "row" | "column" | "dense" | "row dense" | "column dense" | undefined;
22
+ }>;
23
+ //# sourceMappingURL=grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../src/layouts/grid.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,eAAO,MAAM,IAAI,kEAAmE,CAAC;AAErF,MAAM,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AAE3C,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,QAAQ,EAAE,CAWvF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB;;;;;GAiBpD"}
@@ -0,0 +1,30 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ const { Tag } = Markdoc;
3
+ export const flow = ['row', 'column', 'dense', 'row dense', 'column dense'];
4
+ export function gridItems(layout, content) {
5
+ return layout
6
+ .map((e, i) => {
7
+ const [c, r] = e.split(':');
8
+ return {
9
+ colspan: parseInt(c),
10
+ rowspan: r ? parseInt(r) : undefined,
11
+ children: content[i],
12
+ };
13
+ })
14
+ .filter(item => item.children !== undefined);
15
+ }
16
+ export function gridLayout(options) {
17
+ const items = options.items
18
+ .map(({ children, colspan, rowspan }) => children
19
+ .wrap('div', { 'data-colspan': colspan, 'data-rowspan': rowspan })
20
+ .toArray())
21
+ .flat();
22
+ const attr = {
23
+ 'data-layout': 'grid',
24
+ 'data-columns': options.columns,
25
+ 'data-rows': options.rows,
26
+ 'data-flow': options.flow,
27
+ };
28
+ return new Tag('div', attr, items);
29
+ }
30
+ //# sourceMappingURL=grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.js","sourceRoot":"","sources":["../../src/layouts/grid.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AAGxB,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,CAAU,CAAC;AAiBrF,MAAM,UAAU,SAAS,CAAC,MAAgB,EAAE,OAA+B;IACzE,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YACpC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;SACrB,CAAA;IACH,CAAC,CAAC;SACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAA0B;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK;SACxB,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,QAAQ;SAC9C,IAAI,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;SACjE,OAAO,EAAE,CACX;SACA,IAAI,EAAE,CAAA;IAET,MAAM,IAAI,GAAG;QACX,aAAa,EACb,MAAM;QACN,cAAc,EAAE,OAAO,CAAC,OAAO;QAC/B,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,WAAW,EAAE,OAAO,CAAC,IAAI;KAC1B,CAAC;IAEF,OAAO,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { GridFlow, gridLayout, gridItems, flow } from './grid.js';
2
+ export { splitLayout, SplitLayoutOptions } from './split.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layouts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { gridLayout, gridItems, flow } from './grid.js';
2
+ export { splitLayout } from './split.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/layouts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,WAAW,EAAsB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,15 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ import type { Tag, RenderableTreeNode } from '@markdoc/markdoc';
3
+ import { RenderableNodeCursor } from '../lib/renderable.js';
4
+ export { GridFlow, gridLayout, gridItems, flow } from './grid.js';
5
+ export interface SplitLayoutOptions {
6
+ split: number[];
7
+ mirror: boolean;
8
+ main: RenderableTreeNode[];
9
+ side: RenderableTreeNode[];
10
+ }
11
+ export declare class GridLayoutCursor extends RenderableNodeCursor<Tag<'div'>> {
12
+ gridItem(index: number): RenderableNodeCursor<Markdoc.Tag<"div", Record<string, any>>>;
13
+ }
14
+ export declare function splitLayout(options: SplitLayoutOptions): GridLayoutCursor;
15
+ //# sourceMappingURL=split.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../src/layouts/split.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,IAAI,EAAE,kBAAkB,EAAE,CAAC;CAC5B;AAED,qBAAa,gBAAiB,SAAQ,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM;CAGvB;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,oBAkBtD"}
@@ -0,0 +1,26 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ import { RenderableNodeCursor } from '../lib/renderable.js';
3
+ export { gridLayout, gridItems, flow } from './grid.js';
4
+ export class GridLayoutCursor extends RenderableNodeCursor {
5
+ gridItem(index) {
6
+ return new RenderableNodeCursor([this.nodes[0].children[index]]).tag('div');
7
+ }
8
+ }
9
+ export function splitLayout(options) {
10
+ const { main, side, split, mirror } = options;
11
+ const columns = split.reduce((cols, c) => cols + c, 0);
12
+ function createCursor(layout) {
13
+ return new GridLayoutCursor([layout]);
14
+ }
15
+ if (split && split.length === 2) {
16
+ return createCursor(new Markdoc.Tag('div', { 'data-name': 'layout', 'data-layout': 'grid', 'data-columns': columns }, [
17
+ new Markdoc.Tag('div', { 'data-colspan': split[mirror ? 1 : 0] }, mirror ? side : main),
18
+ new Markdoc.Tag('div', { 'data-colspan': split[mirror ? 0 : 1] }, mirror ? main : side),
19
+ ]));
20
+ }
21
+ return createCursor(new Markdoc.Tag('div', { 'data-name': 'layout', 'data-layout': 'grid', 'data-columns': columns }, [
22
+ new Markdoc.Tag('div', { 'data-colspan': 12 }, main),
23
+ new Markdoc.Tag('div', { 'data-colspan': 12 }, side),
24
+ ]));
25
+ }
26
+ //# sourceMappingURL=split.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split.js","sourceRoot":"","sources":["../../src/layouts/split.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAY,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AASlE,MAAM,OAAO,gBAAiB,SAAQ,oBAAgC;IACpE,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,oBAAoB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;CACF;AAED,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvD,SAAS,YAAY,CAAC,MAAkB;QACtC,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE;YACpH,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACvF,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;SACxF,CAAC,CAAC,CAAA;IACL,CAAC;IACD,OAAO,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE;QACpH,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC;QACpD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC;KACrD,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Constructor } from './interfaces.js';
2
+ export type StaticThis<T> = {
3
+ new (...args: any[]): T;
4
+ };
5
+ export declare class Annotation {
6
+ static onClass<T extends Annotation>(this: StaticThis<T>, ctr: Function | Constructor<any>, inherit?: boolean): T[];
7
+ static onProperty<T extends Annotation>(this: StaticThis<T>, ctr: Function | Constructor<any>, key: string): T[];
8
+ static onParameters<T extends Annotation>(this: StaticThis<T>, ctr: Function | Constructor<any>, methodName?: string): T[];
9
+ static existsOnClass<T extends Annotation>(this: StaticThis<T>, ctr: Function | Constructor<any>, inherit?: boolean): boolean;
10
+ }
11
+ //# sourceMappingURL=annotation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotation.d.ts","sourceRoot":"","sources":["../../../src/lib/annotations/annotation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,CAAC;AAMxD,qBAAa,UAAU;WACP,OAAO,CAAC,CAAC,SAAS,UAAU,EACxC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE;WAKlE,UAAU,CAAC,CAAC,SAAS,UAAU,EAC3C,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE;WAK5D,YAAY,CAAC,CAAC,SAAS,UAAU,EAC7C,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE;WAQpE,aAAa,CAAC,CAAC,SAAS,UAAU,EAC9C,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO;CAIrF"}
@@ -0,0 +1,21 @@
1
+ import { annotations, parameters, propMetadata } from './decoration.js';
2
+ function ofInstance(cls, annotations = []) {
3
+ return annotations.filter(a => a instanceof cls);
4
+ }
5
+ export class Annotation {
6
+ static onClass(ctr, inherit) {
7
+ return ofInstance(this, annotations(ctr).read(inherit));
8
+ }
9
+ static onProperty(ctr, key) {
10
+ return ofInstance(this, propMetadata(ctr).read(true)[key]);
11
+ }
12
+ static onParameters(ctr, methodName) {
13
+ return ofInstance(this, methodName
14
+ ? parameters(ctr, methodName).read(true)
15
+ : parameters(ctr.constructor).read(true));
16
+ }
17
+ static existsOnClass(ctr, inherit) {
18
+ return ofInstance(this, annotations(ctr).read(inherit)).length > 0;
19
+ }
20
+ }
21
+ //# sourceMappingURL=annotation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotation.js","sourceRoot":"","sources":["../../../src/lib/annotations/annotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKxE,SAAS,UAAU,CAAI,GAAkB,EAAE,cAAqB,EAAE;IAChE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,OAAO,UAAU;IACd,MAAM,CAAC,OAAO,CACE,GAAgC,EAAE,OAAiB;QAExE,OAAO,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEM,MAAM,CAAC,UAAU,CACD,GAAgC,EAAE,GAAW;QAElE,OAAO,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEM,MAAM,CAAC,YAAY,CACH,GAAgC,EAAE,UAAmB;QAE1E,OAAO,UAAU,CAAC,IAAI,EAAE,UAAU;YAChC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACxC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACzC,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,aAAa,CACJ,GAAgC,EAAE,OAAiB;QAExE,OAAO,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACrE,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import type { SchemaAttribute } from '@markdoc/markdoc';
2
+ import { Annotation } from './annotation.js';
3
+ export type AttributeAnnotationOptions = Omit<SchemaAttribute, 'default'>;
4
+ export declare class AttributeAnnotation extends Annotation {
5
+ private target;
6
+ propertyKey: string;
7
+ private options;
8
+ constructor(target: any, propertyKey: string, options: AttributeAnnotationOptions);
9
+ get schema(): SchemaAttribute;
10
+ }
11
+ export declare function attribute(options: AttributeAnnotationOptions): import("./interfaces.js").PropertyDecorator<any>;
12
+ //# sourceMappingURL=attribute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribute.d.ts","sourceRoot":"","sources":["../../../src/lib/annotations/attribute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AAE1E,qBAAa,mBAAoB,SAAQ,UAAU;IAE/C,OAAO,CAAC,MAAM;IACP,WAAW,EAAE,MAAM;IAC1B,OAAO,CAAC,OAAO;gBAFP,MAAM,EAAE,GAAG,EACZ,WAAW,EAAE,MAAM,EAClB,OAAO,EAAE,0BAA0B;IAG7C,IAAI,MAAM,IAAI,eAAe,CAE5B;CACF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,0BAA0B,oDAE5D"}
@@ -0,0 +1,17 @@
1
+ import { Annotation } from './annotation.js';
2
+ import { propertyDecorator } from './decoration.js';
3
+ export class AttributeAnnotation extends Annotation {
4
+ constructor(target, propertyKey, options) {
5
+ super();
6
+ this.target = target;
7
+ this.propertyKey = propertyKey;
8
+ this.options = options;
9
+ }
10
+ get schema() {
11
+ return this.options;
12
+ }
13
+ }
14
+ export function attribute(options) {
15
+ return propertyDecorator(({ target, propertyKey }) => new AttributeAnnotation(target, propertyKey, options));
16
+ }
17
+ //# sourceMappingURL=attribute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribute.js","sourceRoot":"","sources":["../../../src/lib/annotations/attribute.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIpD,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IACjD,YACU,MAAW,EACZ,WAAmB,EAClB,OAAmC;QACzC,KAAK,EAAE,CAAC;QAHF,WAAM,GAAN,MAAM,CAAK;QACZ,gBAAW,GAAX,WAAW,CAAQ;QAClB,YAAO,GAAP,OAAO,CAA4B;IAChC,CAAC;IAEd,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAED,MAAM,UAAU,SAAS,CAAC,OAAmC;IAC3D,OAAO,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,IAAI,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/G,CAAC"}
@@ -0,0 +1,10 @@
1
+ import 'reflect-metadata';
2
+ import { ClassDecorator, Metadata, MethodDecorator, MethodDecoratorConfig, Newable, ParameterDecorator, ParameterDecoratorConfig, PropertyDecorator, PropertyDecoratorConfig } from './interfaces.js';
3
+ export declare const annotations: (target: any) => Metadata<any[]>;
4
+ export declare const propMetadata: (target: any) => Metadata<Record<string | symbol, any>>;
5
+ export declare const parameters: (target: any, propertyKey?: string | symbol) => Metadata<any[]>;
6
+ export declare function classDecorator<T>(factory: (target: Newable<any>) => any): ClassDecorator<T>;
7
+ export declare function methodDecorator<T = any>(factory: (config: MethodDecoratorConfig) => any): MethodDecorator<T>;
8
+ export declare function propertyDecorator<T = any>(factory: (config: PropertyDecoratorConfig) => any): PropertyDecorator<T>;
9
+ export declare function parameterDecorator(factory: (config: ParameterDecoratorConfig) => any): ParameterDecorator;
10
+ //# sourceMappingURL=decoration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decoration.d.ts","sourceRoot":"","sources":["../../../src/lib/annotations/decoration.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,OAAO,EACP,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAuBzB,eAAO,MAAM,WAAW,GAAI,QAAQ,GAAG,oBACK,CAAC;AAE7C,eAAO,MAAM,YAAY,GAAI,QAAQ,GAAG,2CAC4B,CAAC;AAErE,eAAO,MAAM,UAAU,GAAI,QAAQ,GAAG,EAAE,cAAc,MAAM,GAAG,MAAM,oBACb,CAAC;AAYzD,wBAAgB,cAAc,CAAC,CAAC,EAC9B,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GACrC,cAAc,CAAC,CAAC,CAAC,CAKnB;AAED,wBAAgB,eAAe,CAAC,CAAC,GAAG,GAAG,EACrC,OAAO,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,GAAG,GAC9C,eAAe,CAAC,CAAC,CAAC,CAGpB;AAED,wBAAgB,iBAAiB,CAAC,CAAC,GAAG,GAAG,EACvC,OAAO,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,GAAG,GAChD,iBAAiB,CAAC,CAAC,CAAC,CAGtB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,GAAG,GACjD,kBAAkB,CAIpB"}