@refrakt-md/runes 0.38.0 → 0.40.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 (106) hide show
  1. package/dist/attribute-presets.d.ts +3 -2
  2. package/dist/attribute-presets.d.ts.map +1 -1
  3. package/dist/attribute-presets.js +2 -1
  4. package/dist/attribute-presets.js.map +1 -1
  5. package/dist/collection-helpers.d.ts +21 -2
  6. package/dist/collection-helpers.d.ts.map +1 -1
  7. package/dist/collection-helpers.js +72 -15
  8. package/dist/collection-helpers.js.map +1 -1
  9. package/dist/composed-rune.d.ts +59 -0
  10. package/dist/composed-rune.d.ts.map +1 -0
  11. package/dist/composed-rune.js +129 -0
  12. package/dist/composed-rune.js.map +1 -0
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +73 -40
  15. package/dist/config.js.map +1 -1
  16. package/dist/data-pipeline.d.ts +24 -10
  17. package/dist/data-pipeline.d.ts.map +1 -1
  18. package/dist/data-pipeline.js +34 -56
  19. package/dist/data-pipeline.js.map +1 -1
  20. package/dist/file-ref-resolve.js +9 -13
  21. package/dist/file-ref-resolve.js.map +1 -1
  22. package/dist/index.d.ts +14 -4
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +19 -5
  25. package/dist/index.js.map +1 -1
  26. package/dist/lib/composition.d.ts +152 -0
  27. package/dist/lib/composition.d.ts.map +1 -0
  28. package/dist/lib/composition.js +1120 -0
  29. package/dist/lib/composition.js.map +1 -0
  30. package/dist/lib/index.d.ts +63 -4
  31. package/dist/lib/index.d.ts.map +1 -1
  32. package/dist/lib/index.js +137 -8
  33. package/dist/lib/index.js.map +1 -1
  34. package/dist/lib/preprocess.d.ts +64 -0
  35. package/dist/lib/preprocess.d.ts.map +1 -0
  36. package/dist/lib/preprocess.js +72 -0
  37. package/dist/lib/preprocess.js.map +1 -0
  38. package/dist/lib/registers.d.ts +132 -0
  39. package/dist/lib/registers.d.ts.map +1 -0
  40. package/dist/lib/registers.js +329 -0
  41. package/dist/lib/registers.js.map +1 -0
  42. package/dist/lib/resolver.d.ts +21 -1
  43. package/dist/lib/resolver.d.ts.map +1 -1
  44. package/dist/lib/resolver.js +41 -18
  45. package/dist/lib/resolver.js.map +1 -1
  46. package/dist/lib/schema-side-table.d.ts +26 -0
  47. package/dist/lib/schema-side-table.d.ts.map +1 -0
  48. package/dist/lib/schema-side-table.js +34 -0
  49. package/dist/lib/schema-side-table.js.map +1 -0
  50. package/dist/lib/schema-table.d.ts +59 -9
  51. package/dist/lib/schema-table.d.ts.map +1 -1
  52. package/dist/lib/schema-table.js +158 -22
  53. package/dist/lib/schema-table.js.map +1 -1
  54. package/dist/lib/slot-markers.d.ts +38 -0
  55. package/dist/lib/slot-markers.d.ts.map +1 -0
  56. package/dist/lib/slot-markers.js +105 -0
  57. package/dist/lib/slot-markers.js.map +1 -0
  58. package/dist/lib/slots.d.ts +99 -0
  59. package/dist/lib/slots.d.ts.map +1 -0
  60. package/dist/lib/slots.js +448 -0
  61. package/dist/lib/slots.js.map +1 -0
  62. package/dist/plugins.d.ts +3 -0
  63. package/dist/plugins.d.ts.map +1 -1
  64. package/dist/plugins.js +53 -4
  65. package/dist/plugins.js.map +1 -1
  66. package/dist/reference.d.ts +18 -0
  67. package/dist/reference.d.ts.map +1 -1
  68. package/dist/reference.js +34 -1
  69. package/dist/reference.js.map +1 -1
  70. package/dist/registers-pipeline.d.ts +51 -0
  71. package/dist/registers-pipeline.d.ts.map +1 -0
  72. package/dist/registers-pipeline.js +224 -0
  73. package/dist/registers-pipeline.js.map +1 -0
  74. package/dist/schema-row.d.ts +5 -0
  75. package/dist/schema-row.d.ts.map +1 -1
  76. package/dist/schema-row.js +1 -0
  77. package/dist/schema-row.js.map +1 -1
  78. package/dist/tags/data.d.ts +2 -2
  79. package/dist/tags/data.d.ts.map +1 -1
  80. package/dist/tags/data.js +6 -4
  81. package/dist/tags/data.js.map +1 -1
  82. package/dist/tags/figure.d.ts +10 -4
  83. package/dist/tags/figure.d.ts.map +1 -1
  84. package/dist/tags/figure.js +65 -20
  85. package/dist/tags/figure.js.map +1 -1
  86. package/dist/tags/include.d.ts +51 -7
  87. package/dist/tags/include.d.ts.map +1 -1
  88. package/dist/tags/include.js +216 -7
  89. package/dist/tags/include.js.map +1 -1
  90. package/dist/tags/sandbox.d.ts.map +1 -1
  91. package/dist/tags/sandbox.js +13 -3
  92. package/dist/tags/sandbox.js.map +1 -1
  93. package/dist/tags/snippet.d.ts +9 -10
  94. package/dist/tags/snippet.d.ts.map +1 -1
  95. package/dist/tags/snippet.js +213 -10
  96. package/dist/tags/snippet.js.map +1 -1
  97. package/dist/universal-attributes.d.ts +1 -1
  98. package/package.json +3 -3
  99. package/dist/include-pipeline.d.ts +0 -52
  100. package/dist/include-pipeline.d.ts.map +0 -1
  101. package/dist/include-pipeline.js +0 -206
  102. package/dist/include-pipeline.js.map +0 -1
  103. package/dist/snippet-pipeline.d.ts +0 -44
  104. package/dist/snippet-pipeline.d.ts.map +0 -1
  105. package/dist/snippet-pipeline.js +0 -307
  106. package/dist/snippet-pipeline.js.map +0 -1
@@ -5,7 +5,7 @@
5
5
  * content model, producing named fields without per-rune imperative code.
6
6
  */
7
7
  import type { Node } from '@markdoc/markdoc';
8
- import type { ContentModel, ContentFieldDefinition, DelimitedModel, SectionsModel, ContentModelCondition, ItemModel, ResolvedContent } from '@refrakt-md/types';
8
+ import type { ContentModel, ContentFieldDefinition, DelimitedModel, SectionsModel, ContentModelCondition, ItemModel, ResolvedContent, StructuralContentModel } from '@refrakt-md/types';
9
9
  export interface ResolveResult {
10
10
  /** Resolved content fields. */
11
11
  content: ResolvedContent;
@@ -46,6 +46,18 @@ export declare function resolveSequence(children: Node[], fields: ContentFieldDe
46
46
  * resolve each zone's content.
47
47
  */
48
48
  export declare function resolveDelimited(children: Node[], model: DelimitedModel): ResolvedContent;
49
+ /**
50
+ * Resolve one `emitAttributes` value. A value starting with `$` names a source:
51
+ * `$heading` the flattened heading text, `$field` an extracted field, and
52
+ * `'$a|$b'` the first of several that is non-empty. Anything else is a literal.
53
+ *
54
+ * Shared by the `emitTag` paths and by a composition's `$each` binding (SPEC-145
55
+ * D4a), so the three forms mean the same thing wherever they are written.
56
+ */
57
+ export declare function resolveEmitReference(ref: string, lookup: (name: string) => unknown): unknown;
58
+ /** The `emitAttributes` sources of one section: `heading` is its text, every
59
+ * other name a `headingExtract` field. */
60
+ export declare function sectionLookup(headingText: string, extracted: Record<string, unknown>): (name: string) => unknown;
49
61
  /**
50
62
  * Resolve a sections model: split children at heading boundaries,
51
63
  * optionally extracting heading data and emitting child rune tags.
@@ -76,5 +88,13 @@ export declare function resolve(children: Node[], model: ContentModel, attribute
76
88
  * Full resolution entry point: extracts special tags (tint, bg), then
77
89
  * resolves the content model.
78
90
  */
91
+ /**
92
+ * The structural model `resolveContentModel` would resolve these children
93
+ * against: a conditional model's matching branch (followed through nested
94
+ * conditionals), or the model itself. Evaluated over the same filtered children,
95
+ * so a `tint` / `bg` child cannot tip a `hasChild` condition here when it does
96
+ * not there.
97
+ */
98
+ export declare function selectStructuralModel(children: Node[], model: ContentModel, attributes?: Record<string, unknown>): StructuralContentModel;
79
99
  export declare function resolveContentModel(children: Node[], model: ContentModel, attributes?: Record<string, unknown>, locale?: string): ResolveResult;
80
100
  //# sourceMappingURL=resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/lib/resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EACX,YAAY,EACZ,sBAAsB,EACtB,cAAc,EAEd,aAAa,EAGb,qBAAqB,EACrB,SAAS,EAIT,eAAe,EACf,MAAM,mBAAmB,CAAC;AAM3B,MAAM,WAAW,aAAa;IAC7B,+BAA+B;IAC/B,OAAO,EAAE,eAAe,CAAC;IAEzB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,IAAI,CAAC;CACd;AAiCD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAmC9D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAWxD;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,IAAI,EAAE,EAChB,MAAM,EAAE,sBAAsB,EAAE,GAC9B,eAAe,CAqGjB;AAMD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,GAAG,eAAe,CAuCzF;AA2FD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,IAAI,EAAE,EAChB,KAAK,EAAE,aAAa,EACpB,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CA2IjB;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,SAAS,EAAE,qBAAqB,EAChC,QAAQ,EAAE,IAAI,EAAE,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAYT;AAiDD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAgHhG;AAMD;;;GAGG;AACH,wBAAgB,OAAO,CACtB,QAAQ,EAAE,IAAI,EAAE,EAChB,KAAK,EAAE,YAAY,EACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAuBjB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAClC,QAAQ,EAAE,IAAI,EAAE,EAChB,KAAK,EAAE,YAAY,EACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,MAAM,CAAC,EAAE,MAAM,GACb,aAAa,CAIf"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/lib/resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EACX,YAAY,EACZ,sBAAsB,EACtB,cAAc,EAEd,aAAa,EAGb,qBAAqB,EACrB,SAAS,EAIT,eAAe,EACf,sBAAsB,EACtB,MAAM,mBAAmB,CAAC;AAM3B,MAAM,WAAW,aAAa;IAC7B,+BAA+B;IAC/B,OAAO,EAAE,eAAe,CAAC;IAEzB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,IAAI,CAAC;CACd;AAiCD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAmC9D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAWxD;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,IAAI,EAAE,EAChB,MAAM,EAAE,sBAAsB,EAAE,GAC9B,eAAe,CA8FjB;AAMD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,GAAG,eAAe,CAuCzF;AA2FD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAO5F;AAED;2CAC2C;AAC3C,wBAAgB,aAAa,CAC5B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAE3B;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,IAAI,EAAE,EAChB,KAAK,EAAE,aAAa,EACpB,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAqIjB;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,SAAS,EAAE,qBAAqB,EAChC,QAAQ,EAAE,IAAI,EAAE,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAYT;AAiDD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAgHhG;AAMD;;;GAGG;AACH,wBAAgB,OAAO,CACtB,QAAQ,EAAE,IAAI,EAAE,EAChB,KAAK,EAAE,YAAY,EACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAuBjB;AAED;;;GAGG;AACH;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,IAAI,EAAE,EAChB,KAAK,EAAE,YAAY,EACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,sBAAsB,CAUxB;AAED,wBAAgB,mBAAmB,CAClC,QAAQ,EAAE,IAAI,EAAE,EAChB,KAAK,EAAE,YAAY,EACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,MAAM,CAAC,EAAE,MAAM,GACb,aAAa,CAIf"}
@@ -149,15 +149,7 @@ export function resolveSequence(children, fields) {
149
149
  const emitAttrs = field.emitAttributes;
150
150
  if (emitAttrs) {
151
151
  for (const [key, ref] of Object.entries(emitAttrs)) {
152
- if (ref.startsWith('$')) {
153
- // Support fallback: '$a|$b' tries a, then b
154
- const parts = ref.slice(1).split('|');
155
- attrs[key] =
156
- parts.map((p) => items[i][p.trim()]).find((v) => v != null && v !== '') ?? '';
157
- }
158
- else {
159
- attrs[key] = ref;
160
- }
152
+ attrs[key] = resolveEmitReference(ref, (name) => items[i][name]);
161
153
  }
162
154
  }
163
155
  // Forward list item children after the first (inline) child as tag body
@@ -321,6 +313,29 @@ function matchKnownSection(headingText, knownSections, locale) {
321
313
  }
322
314
  return undefined;
323
315
  }
316
+ /**
317
+ * Resolve one `emitAttributes` value. A value starting with `$` names a source:
318
+ * `$heading` the flattened heading text, `$field` an extracted field, and
319
+ * `'$a|$b'` the first of several that is non-empty. Anything else is a literal.
320
+ *
321
+ * Shared by the `emitTag` paths and by a composition's `$each` binding (SPEC-145
322
+ * D4a), so the three forms mean the same thing wherever they are written.
323
+ */
324
+ export function resolveEmitReference(ref, lookup) {
325
+ if (!ref.startsWith('$'))
326
+ return ref;
327
+ for (const part of ref.split('|')) {
328
+ const value = lookup(part.trim().replace(/^\$/, ''));
329
+ if (value != null && value !== '')
330
+ return value;
331
+ }
332
+ return '';
333
+ }
334
+ /** The `emitAttributes` sources of one section: `heading` is its text, every
335
+ * other name a `headingExtract` field. */
336
+ export function sectionLookup(headingText, extracted) {
337
+ return (name) => (name === 'heading' ? headingText : extracted[name]);
338
+ }
324
339
  /**
325
340
  * Resolve a sections model: split children at heading boundaries,
326
341
  * optionally extracting heading data and emitting child rune tags.
@@ -406,15 +421,7 @@ export function resolveSections(children, model, locale) {
406
421
  const attrs = {};
407
422
  if (model.emitAttributes) {
408
423
  for (const [key, ref] of Object.entries(model.emitAttributes)) {
409
- if (ref === '$heading') {
410
- attrs[key] = headingText;
411
- }
412
- else if (ref.startsWith('$')) {
413
- attrs[key] = extracted[ref.slice(1)] ?? '';
414
- }
415
- else {
416
- attrs[key] = ref;
417
- }
424
+ attrs[key] = resolveEmitReference(ref, sectionLookup(headingText, extracted));
418
425
  }
419
426
  }
420
427
  return new Ast.Node('tag', attrs, section.body, model.emitTag);
@@ -664,6 +671,22 @@ export function resolve(children, model, attributes, locale) {
664
671
  * Full resolution entry point: extracts special tags (tint, bg), then
665
672
  * resolves the content model.
666
673
  */
674
+ /**
675
+ * The structural model `resolveContentModel` would resolve these children
676
+ * against: a conditional model's matching branch (followed through nested
677
+ * conditionals), or the model itself. Evaluated over the same filtered children,
678
+ * so a `tint` / `bg` child cannot tip a `hasChild` condition here when it does
679
+ * not there.
680
+ */
681
+ export function selectStructuralModel(children, model, attributes) {
682
+ const { filtered } = extractSpecialTags(children);
683
+ let current = model;
684
+ while (isConditional(current)) {
685
+ const branch = current.when.find((b) => evaluateCondition(b.condition, filtered, attributes ?? {}));
686
+ current = branch ? branch.model : current.default;
687
+ }
688
+ return current;
689
+ }
667
690
  export function resolveContentModel(children, model, attributes, locale) {
668
691
  const { filtered, tintNode, bgNode } = extractSpecialTags(children);
669
692
  const content = resolve(filtered, model, attributes, locale);
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/lib/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/lib/resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { Schema } from '@markdoc/markdoc';
2
+ /**
3
+ * A declaration kept beside a schema rather than on it, keyed by the schema.
4
+ *
5
+ * Several of a rune's self-declarations — its schema table, its preprocess
6
+ * hook, its structure, its registers — live in side tables because Markdoc's
7
+ * `Schema` type has nowhere to put them and tooling has only the schema to
8
+ * read from. A side table is keyed by object identity.
9
+ *
10
+ * **That identity does not survive config assembly** (SPEC-145 D10a).
11
+ * `declareSlotMarkers` gives every schema a copy declaring the slot markers,
12
+ * rather than mutating the shared runes, and a plain `WeakMap` would then answer
13
+ * nothing for the copy: an `{% include %}` stops being preprocessed and a schema
14
+ * table stops being applied. So the copy records the schema it came from, and
15
+ * every side table falls back to that origin. One rule, in one class, instead of
16
+ * each lookup knowing about assembly.
17
+ */
18
+ export declare class SchemaSideTable<V> extends WeakMap<Schema, V> {
19
+ get(schema: Schema): V | undefined;
20
+ has(schema: Schema): boolean;
21
+ }
22
+ /** Record that `copy` declares the same rune as `origin`. */
23
+ export declare function recordSchemaOrigin(copy: Schema, origin: Schema): void;
24
+ /** The schema a copy was made from, or the schema itself. */
25
+ export declare function originOf(schema: Schema): Schema;
26
+ //# sourceMappingURL=schema-side-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-side-table.d.ts","sourceRoot":"","sources":["../../src/lib/schema-side-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,eAAe,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIlC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAGrC;AAID,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAErE;AAED,6DAA6D;AAC7D,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE/C"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * A declaration kept beside a schema rather than on it, keyed by the schema.
3
+ *
4
+ * Several of a rune's self-declarations — its schema table, its preprocess
5
+ * hook, its structure, its registers — live in side tables because Markdoc's
6
+ * `Schema` type has nowhere to put them and tooling has only the schema to
7
+ * read from. A side table is keyed by object identity.
8
+ *
9
+ * **That identity does not survive config assembly** (SPEC-145 D10a).
10
+ * `declareSlotMarkers` gives every schema a copy declaring the slot markers,
11
+ * rather than mutating the shared runes, and a plain `WeakMap` would then answer
12
+ * nothing for the copy: an `{% include %}` stops being preprocessed and a schema
13
+ * table stops being applied. So the copy records the schema it came from, and
14
+ * every side table falls back to that origin. One rule, in one class, instead of
15
+ * each lookup knowing about assembly.
16
+ */
17
+ export class SchemaSideTable extends WeakMap {
18
+ get(schema) {
19
+ return super.has(schema) ? super.get(schema) : super.get(originOf(schema));
20
+ }
21
+ has(schema) {
22
+ return super.has(schema) || super.has(originOf(schema));
23
+ }
24
+ }
25
+ const origins = new WeakMap();
26
+ /** Record that `copy` declares the same rune as `origin`. */
27
+ export function recordSchemaOrigin(copy, origin) {
28
+ origins.set(copy, originOf(origin));
29
+ }
30
+ /** The schema a copy was made from, or the schema itself. */
31
+ export function originOf(schema) {
32
+ return origins.get(schema) ?? schema;
33
+ }
34
+ //# sourceMappingURL=schema-side-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-side-table.js","sourceRoot":"","sources":["../../src/lib/schema-side-table.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,eAAmB,SAAQ,OAAkB;IAChD,GAAG,CAAC,MAAc;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEQ,GAAG,CAAC,MAAc;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;CACD;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAkB,CAAC;AAE9C,6DAA6D;AAC7D,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,MAAc;IAC9D,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,QAAQ,CAAC,MAAc;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;AACtC,CAAC"}
@@ -121,9 +121,21 @@ export interface SchemaTable extends SchemaRow {
121
121
  * the ambiguity cannot ship silently.
122
122
  */
123
123
  by?: string;
124
- /** Rows keyed by attribute value, used with `by`. */
124
+ /**
125
+ * Selects a row by the value of the named **field** in the rune's own field
126
+ * bag (`data-rune-fields`), for a type that depends on what the content *is*
127
+ * rather than on anything the author stated (BUG-028).
128
+ *
129
+ * The transform records a fact about its content as an ordinary property —
130
+ * `figure` records `body: 'mixed'` when it holds more than media — and the
131
+ * table decides what that fact means for the type. The transform still never
132
+ * writes a type. Exclusive with `by`: a row is picked by one axis, and two
133
+ * would need a precedence rule nobody could see in the table.
134
+ */
135
+ byField?: string;
136
+ /** Rows keyed by attribute (`by`) or field (`byField`) value. */
125
137
  rows?: Record<string, SchemaRow>;
126
- /** The row for when the `by` attribute is absent or unmatched. */
138
+ /** The row for when the selecting value is absent or unmatched. */
127
139
  fallback?: SchemaRow;
128
140
  }
129
141
  /** A problem with a table, found at build time. */
@@ -143,8 +155,12 @@ export interface SchemaTableIssue {
143
155
  * emitting it.
144
156
  */
145
157
  export declare function validateSchemaTable(table: SchemaTable, declaredAttributes?: string[]): SchemaTableIssue[];
146
- /** Pick the row a set of attributes selects. */
147
- export declare function selectRow(table: SchemaTable, attrs: Record<string, unknown>): SchemaRow;
158
+ /**
159
+ * Pick the row a set of attributes — or, for a `byField` table, the rune's
160
+ * field bag — selects. With no bag (the static views: `inspect`, `contracts`,
161
+ * `reference`) a `byField` table describes its fallback row.
162
+ */
163
+ export declare function selectRow(table: SchemaTable, attrs: Record<string, unknown>, fields?: Record<string, unknown>): SchemaRow;
148
164
  type AnyTag = InstanceType<typeof Tag>;
149
165
  /**
150
166
  * Find a node by name, whichever attribute carries it.
@@ -156,11 +172,14 @@ type AnyTag = InstanceType<typeof Tag>;
156
172
  /**
157
173
  * Every node bearing a name, in document order, within one rune.
158
174
  *
159
- * **The search stops at another rune's node.** ADR-008's flat namespace is
160
- * unique *per rune*, so the same name means different things in a parent and in
161
- * a child it contains: `character` names its title span `name`, and so does
162
- * every `character-section` inside it. Reaching across that boundary published a
163
- * character whose `name` was the character plus each of its section headings.
175
+ * **Past another rune's node, only nodes marked for this rune count.** ADR-008's
176
+ * flat namespace is unique *per rune*, so the same name means different things
177
+ * in a parent and in a child it contains: `character` names its title span
178
+ * `name`, and so does every `character-section` inside it. Reaching across that
179
+ * boundary published a character whose `name` was the character plus each of
180
+ * its section headings. So the walk keeps descending in foreign mode, where just
181
+ * the nodes placed on this rune's behalf (`OWNER_ATTR`) are admitted — the same
182
+ * rule `findChildren` applies (SPEC-146 Problem 2).
164
183
  */
165
184
  export declare function findAllByName(root: RenderableTreeNode | RenderableTreeNode[], name: string): AnyTag[];
166
185
  /** The first node bearing a name, within one rune — see `findAllByName`. */
@@ -172,5 +191,36 @@ export declare function findByName(root: RenderableTreeNode | RenderableTreeNode
172
191
  * `createComponentRenderable` has written the field bag.
173
192
  */
174
193
  export declare function applySchemaTable(output: RenderableTreeNode, table: SchemaTable, attrs: Record<string, unknown>): RenderableTreeNode;
194
+ /**
195
+ * Marks a node placed inside another rune on behalf of the rune named — the
196
+ * value is that rune's `data-rune`. SPEC-146 D1.
197
+ *
198
+ * Nothing sets it yet: no rune places its content inside another rune until
199
+ * SPEC-145's composition does. What it changes today is what an *unmarked* node
200
+ * past a boundary means — not this rune's — which is the fix for Problem 1.
201
+ */
202
+ export declare const OWNER_ATTR = "data-owner";
203
+ /**
204
+ * What the owning rune calls a node it placed — SPEC-145 D10a. Set together
205
+ * with `OWNER_ATTR` and read only together with it.
206
+ *
207
+ * Unlike the owner mark it is not bookkeeping: `releaseOwnedNodes` leaves it in
208
+ * place, because a composed rune's slot names are its published names for its
209
+ * parts (D10c) — `[data-rune="character"] [data-slot="description"]` is a
210
+ * theme's hook, and the composed rune's contract lists them.
211
+ */
212
+ export declare const SLOT_ATTR = "data-slot";
213
+ /**
214
+ * Strip the ownership marks a rune has finished resolving. SPEC-146 D4: the
215
+ * marker answers a resolution question during the transform, so it is
216
+ * bookkeeping, not output, and nothing downstream reads it.
217
+ *
218
+ * Runs once the owning rune's table has been applied. Markdoc transforms
219
+ * bottom-up, so no rune that could still need the mark runs later.
220
+ *
221
+ * `SLOT_ATTR` on the same node stays: it is output, not bookkeeping (SPEC-145
222
+ * D10a step 4, D10c).
223
+ */
224
+ export declare function releaseOwnedNodes(output: RenderableTreeNode): void;
175
225
  export {};
176
226
  //# sourceMappingURL=schema-table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-table.d.ts","sourceRoot":"","sources":["../../src/lib/schema-table.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,QAAA,MAAQ,GAAG,oBAAY,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,eAA2C,CAAC;AAE7E,mFAAmF;AACnF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD,8EAA8E;AAC9E,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,2DAA2D;AAC3D,MAAM,WAAW,SAAS;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACrC;AAED,6EAA6E;AAC7E,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC7C;;;;;;;OAOG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,WAAW,EAClB,kBAAkB,GAAE,MAAM,EAAO,GAC/B,gBAAgB,EAAE,CA6CpB;AAED,gDAAgD;AAChD,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAKvF;AAID,KAAK,MAAM,GAAG,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC;AAIvC;;;;;;GAMG;AACH;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC5B,IAAI,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,EAC/C,IAAI,EAAE,MAAM,GACV,MAAM,EAAE,CA0BV;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CACzB,IAAI,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,EAC/C,IAAI,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CAEpB;AAyLD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,kBAAkB,CAkDpB"}
1
+ {"version":3,"file":"schema-table.d.ts","sourceRoot":"","sources":["../../src/lib/schema-table.ts"],"names":[],"mappings":"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"}