aontu 0.62.0 → 0.63.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 (356) hide show
  1. package/README.md +1 -1
  2. package/dist/agentsmd.js +0 -27
  3. package/dist/agentsmd.js.map +1 -1
  4. package/dist/alias.js.map +1 -1
  5. package/dist/allow.js +0 -92
  6. package/dist/allow.js.map +1 -1
  7. package/dist/aontu.d.ts +1 -1
  8. package/dist/aontu.js +1 -79
  9. package/dist/aontu.js.map +1 -1
  10. package/dist/aontumodel.d.ts +4 -0
  11. package/dist/aontumodel.js +33 -0
  12. package/dist/aontumodel.js.map +1 -0
  13. package/dist/cli.js +101 -620
  14. package/dist/cli.js.map +1 -1
  15. package/dist/ctx.js +0 -48
  16. package/dist/ctx.js.map +1 -1
  17. package/dist/diff.js +0 -32
  18. package/dist/diff.js.map +1 -1
  19. package/dist/err.js +0 -40
  20. package/dist/err.js.map +1 -1
  21. package/dist/escape.js +0 -45
  22. package/dist/escape.js.map +1 -1
  23. package/dist/exactjson.d.ts +0 -35
  24. package/dist/exactjson.js +0 -131
  25. package/dist/exactjson.js.map +1 -1
  26. package/dist/format.js +13 -203
  27. package/dist/format.js.map +1 -1
  28. package/dist/grammar.d.ts +9 -0
  29. package/dist/grammar.js +54 -0
  30. package/dist/grammar.js.map +1 -0
  31. package/dist/graph.js +0 -26
  32. package/dist/graph.js.map +1 -1
  33. package/dist/hcanon.js +0 -82
  34. package/dist/hcanon.js.map +1 -1
  35. package/dist/helpdoc.js +1 -1
  36. package/dist/helpdoc.js.map +1 -1
  37. package/dist/hints.d.ts +0 -6
  38. package/dist/hints.js +54 -55
  39. package/dist/hints.js.map +1 -1
  40. package/dist/jsonschema.js +0 -114
  41. package/dist/jsonschema.js.map +1 -1
  42. package/dist/keyorder.d.ts +0 -7
  43. package/dist/keyorder.js +0 -41
  44. package/dist/keyorder.js.map +1 -1
  45. package/dist/lang.js +17 -915
  46. package/dist/lang.js.map +1 -1
  47. package/dist/lower.js +11 -61
  48. package/dist/lower.js.map +1 -1
  49. package/dist/lsp-server.js +0 -16
  50. package/dist/lsp-server.js.map +1 -1
  51. package/dist/lsp.d.ts +1 -1
  52. package/dist/lsp.js +12 -159
  53. package/dist/lsp.js.map +1 -1
  54. package/dist/mcp-server.js +0 -26
  55. package/dist/mcp-server.js.map +1 -1
  56. package/dist/mcp.js +0 -113
  57. package/dist/mcp.js.map +1 -1
  58. package/dist/mod-tool.js +0 -130
  59. package/dist/mod-tool.js.map +1 -1
  60. package/dist/mod.js +0 -162
  61. package/dist/mod.js.map +1 -1
  62. package/dist/patch.js +0 -217
  63. package/dist/patch.js.map +1 -1
  64. package/dist/provenance.js +0 -140
  65. package/dist/provenance.js.map +1 -1
  66. package/dist/query.js +0 -75
  67. package/dist/query.js.map +1 -1
  68. package/dist/reach.js +0 -43
  69. package/dist/reach.js.map +1 -1
  70. package/dist/relation.js +0 -61
  71. package/dist/relation.js.map +1 -1
  72. package/dist/render.js +20 -135
  73. package/dist/render.js.map +1 -1
  74. package/dist/report-sarif.d.ts +0 -11
  75. package/dist/report-sarif.js +0 -28
  76. package/dist/report-sarif.js.map +1 -1
  77. package/dist/sig.js +0 -35
  78. package/dist/sig.js.map +1 -1
  79. package/dist/sigdecl.js +1 -1
  80. package/dist/sigdecl.js.map +1 -1
  81. package/dist/siggate.js +0 -4
  82. package/dist/siggate.js.map +1 -1
  83. package/dist/site.js +3 -29
  84. package/dist/site.js.map +1 -1
  85. package/dist/subsume.d.ts +0 -10
  86. package/dist/subsume.js +0 -137
  87. package/dist/subsume.js.map +1 -1
  88. package/dist/template.d.ts +2 -1
  89. package/dist/template.js +58 -138
  90. package/dist/template.js.map +1 -1
  91. package/dist/trim.js +0 -41
  92. package/dist/trim.js.map +1 -1
  93. package/dist/tsconfig.tsbuildinfo +1 -1
  94. package/dist/type.js.map +1 -1
  95. package/dist/unify.js +12 -242
  96. package/dist/unify.js.map +1 -1
  97. package/dist/utility.js +0 -22
  98. package/dist/utility.js.map +1 -1
  99. package/dist/val/AbnfFuncVal.d.ts +18 -0
  100. package/dist/val/AbnfFuncVal.js +132 -0
  101. package/dist/val/AbnfFuncVal.js.map +1 -0
  102. package/dist/val/AbsentVal.d.ts +11 -0
  103. package/dist/val/AbsentVal.js +30 -0
  104. package/dist/val/AbsentVal.js.map +1 -0
  105. package/dist/val/AggFuncVal.d.ts +10 -1
  106. package/dist/val/AggFuncVal.js +104 -116
  107. package/dist/val/AggFuncVal.js.map +1 -1
  108. package/dist/val/ArithFuncVal.js +0 -12
  109. package/dist/val/ArithFuncVal.js.map +1 -1
  110. package/dist/val/BagVal.js +1 -78
  111. package/dist/val/BagVal.js.map +1 -1
  112. package/dist/val/BigDecimalVal.js +0 -16
  113. package/dist/val/BigDecimalVal.js.map +1 -1
  114. package/dist/val/BigIntegerVal.js +0 -16
  115. package/dist/val/BigIntegerVal.js.map +1 -1
  116. package/dist/val/CloseFuncVal.js +0 -9
  117. package/dist/val/CloseFuncVal.js.map +1 -1
  118. package/dist/val/CmpFuncVal.js +2 -59
  119. package/dist/val/CmpFuncVal.js.map +1 -1
  120. package/dist/val/ConjunctVal.js +0 -29
  121. package/dist/val/ConjunctVal.js.map +1 -1
  122. package/dist/val/ConstraintVal.js +0 -500
  123. package/dist/val/ConstraintVal.js.map +1 -1
  124. package/dist/val/ContainerKindVal.js +0 -2
  125. package/dist/val/ContainerKindVal.js.map +1 -1
  126. package/dist/val/CopyFuncVal.js +0 -3
  127. package/dist/val/CopyFuncVal.js.map +1 -1
  128. package/dist/val/Decimal.js +0 -179
  129. package/dist/val/Decimal.js.map +1 -1
  130. package/dist/val/DeprecateFuncVal.js.map +1 -1
  131. package/dist/val/DisjunctVal.js +0 -152
  132. package/dist/val/DisjunctVal.js.map +1 -1
  133. package/dist/val/EachFuncVal.js +0 -3
  134. package/dist/val/EachFuncVal.js.map +1 -1
  135. package/dist/val/EmitFuncVal.d.ts +1 -1
  136. package/dist/val/EmitFuncVal.js +6 -119
  137. package/dist/val/EmitFuncVal.js.map +1 -1
  138. package/dist/val/ExpectVal.js +0 -62
  139. package/dist/val/ExpectVal.js.map +1 -1
  140. package/dist/val/FilterFuncVal.js +0 -25
  141. package/dist/val/FilterFuncVal.js.map +1 -1
  142. package/dist/val/FuncBaseVal.d.ts +1 -0
  143. package/dist/val/FuncBaseVal.js +7 -127
  144. package/dist/val/FuncBaseVal.js.map +1 -1
  145. package/dist/val/GraphAtomVal.js +0 -15
  146. package/dist/val/GraphAtomVal.js.map +1 -1
  147. package/dist/val/HideFuncVal.js +0 -13
  148. package/dist/val/HideFuncVal.js.map +1 -1
  149. package/dist/val/IntegerVal.js +0 -61
  150. package/dist/val/IntegerVal.js.map +1 -1
  151. package/dist/val/JunctionVal.js +0 -20
  152. package/dist/val/JunctionVal.js.map +1 -1
  153. package/dist/val/KeyFuncVal.js +0 -46
  154. package/dist/val/KeyFuncVal.js.map +1 -1
  155. package/dist/val/ListVal.js +0 -57
  156. package/dist/val/ListVal.js.map +1 -1
  157. package/dist/val/LowerFuncVal.js +0 -11
  158. package/dist/val/LowerFuncVal.js.map +1 -1
  159. package/dist/val/MapVal.js +0 -151
  160. package/dist/val/MapVal.js.map +1 -1
  161. package/dist/val/MatchFuncVal.js +0 -27
  162. package/dist/val/MatchFuncVal.js.map +1 -1
  163. package/dist/val/{FormFuncVal.d.ts → MaybeFuncVal.d.ts} +5 -5
  164. package/dist/val/MaybeFuncVal.js +50 -0
  165. package/dist/val/MaybeFuncVal.js.map +1 -0
  166. package/dist/val/MoveFuncVal.js +0 -18
  167. package/dist/val/MoveFuncVal.js.map +1 -1
  168. package/dist/val/NilVal.js +0 -60
  169. package/dist/val/NilVal.js.map +1 -1
  170. package/dist/val/NomFuncVal.js +8 -42
  171. package/dist/val/NomFuncVal.js.map +1 -1
  172. package/dist/val/NumberVal.js +0 -15
  173. package/dist/val/NumberVal.js.map +1 -1
  174. package/dist/val/OpBaseVal.d.ts +1 -0
  175. package/dist/val/OpBaseVal.js +3 -15
  176. package/dist/val/OpBaseVal.js.map +1 -1
  177. package/dist/val/PackFuncVal.js +0 -34
  178. package/dist/val/PackFuncVal.js.map +1 -1
  179. package/dist/val/PathFuncVal.js +0 -6
  180. package/dist/val/PathFuncVal.js.map +1 -1
  181. package/dist/val/PathVal.js +0 -41
  182. package/dist/val/PathVal.js.map +1 -1
  183. package/dist/val/PlaceVal.js +0 -25
  184. package/dist/val/PlaceVal.js.map +1 -1
  185. package/dist/val/PlusOpVal.d.ts +1 -7
  186. package/dist/val/PlusOpVal.js +13 -74
  187. package/dist/val/PlusOpVal.js.map +1 -1
  188. package/dist/val/PrefFuncVal.js +0 -1
  189. package/dist/val/PrefFuncVal.js.map +1 -1
  190. package/dist/val/PrefVal.js +0 -167
  191. package/dist/val/PrefVal.js.map +1 -1
  192. package/dist/val/RecurseVal.js +0 -55
  193. package/dist/val/RecurseVal.js.map +1 -1
  194. package/dist/val/RefVal.js +0 -282
  195. package/dist/val/RefVal.js.map +1 -1
  196. package/dist/val/ReferFuncVal.js +0 -232
  197. package/dist/val/ReferFuncVal.js.map +1 -1
  198. package/dist/val/ScalarKindVal.js +0 -49
  199. package/dist/val/ScalarKindVal.js.map +1 -1
  200. package/dist/val/ScalarVal.js +0 -11
  201. package/dist/val/ScalarVal.js.map +1 -1
  202. package/dist/val/StrFuncVal.js +0 -18
  203. package/dist/val/StrFuncVal.js.map +1 -1
  204. package/dist/val/SuperFuncVal.js +0 -32
  205. package/dist/val/SuperFuncVal.js.map +1 -1
  206. package/dist/val/TopVal.js +0 -1
  207. package/dist/val/TopVal.js.map +1 -1
  208. package/dist/val/TranslateFuncVal.js +1 -3
  209. package/dist/val/TranslateFuncVal.js.map +1 -1
  210. package/dist/val/UpperFuncVal.js +0 -11
  211. package/dist/val/UpperFuncVal.js.map +1 -1
  212. package/dist/val/Val.d.ts +1 -0
  213. package/dist/val/Val.js +2 -133
  214. package/dist/val/Val.js.map +1 -1
  215. package/dist/val/VarVal.js +0 -12
  216. package/dist/val/VarVal.js.map +1 -1
  217. package/dist/val/arith.js +0 -37
  218. package/dist/val/arith.js.map +1 -1
  219. package/dist/val/caserange.js +0 -61
  220. package/dist/val/caserange.js.map +1 -1
  221. package/dist/val/members.js +0 -6
  222. package/dist/val/members.js.map +1 -1
  223. package/dist/val/numcmp.js +0 -11
  224. package/dist/val/numcmp.js.map +1 -1
  225. package/dist/val/numkind.js +0 -145
  226. package/dist/val/numkind.js.map +1 -1
  227. package/dist/val/valutil.js +0 -16
  228. package/dist/val/valutil.js.map +1 -1
  229. package/dist/vet.js +0 -461
  230. package/dist/vet.js.map +1 -1
  231. package/dist/view.js +0 -414
  232. package/dist/view.js.map +1 -1
  233. package/dist/walk.js +0 -41
  234. package/dist/walk.js.map +1 -1
  235. package/grammar/aontu.abnf +8 -6
  236. package/grammar/aontu.gbnf +4 -4
  237. package/grammar/aontu.lark +4 -4
  238. package/grammar/aontu.tmLanguage.json +1 -1
  239. package/package.json +4 -2
  240. package/src/agentsmd.ts +0 -35
  241. package/src/alias.ts +0 -39
  242. package/src/allow.ts +1 -96
  243. package/src/aontu.ts +3 -110
  244. package/src/aontumodel.ts +32 -0
  245. package/src/cli.ts +113 -682
  246. package/src/ctx.ts +0 -103
  247. package/src/diff.ts +0 -40
  248. package/src/err.ts +0 -40
  249. package/src/escape.ts +0 -46
  250. package/src/exactjson.ts +0 -131
  251. package/src/format.ts +14 -257
  252. package/src/grammar.ts +72 -0
  253. package/src/graph.ts +0 -61
  254. package/src/hcanon.ts +0 -82
  255. package/src/helpdoc.ts +1 -1
  256. package/src/hints.ts +66 -57
  257. package/src/jsonschema.ts +0 -123
  258. package/src/keyorder.ts +0 -42
  259. package/src/lang.ts +19 -931
  260. package/src/lower.ts +12 -62
  261. package/src/lsp-server.ts +0 -16
  262. package/src/lsp.ts +12 -180
  263. package/src/mcp-server.ts +0 -31
  264. package/src/mcp.ts +0 -130
  265. package/src/mod-tool.ts +0 -158
  266. package/src/mod.ts +0 -178
  267. package/src/patch.ts +0 -232
  268. package/src/provenance.ts +0 -183
  269. package/src/query.ts +0 -84
  270. package/src/reach.ts +0 -53
  271. package/src/relation.ts +0 -84
  272. package/src/render.ts +20 -172
  273. package/src/report-sarif.ts +0 -48
  274. package/src/sig.ts +0 -35
  275. package/src/sigdecl.ts +1 -1
  276. package/src/siggate.ts +0 -30
  277. package/src/site.ts +3 -29
  278. package/src/subsume.ts +1 -161
  279. package/src/template.ts +69 -140
  280. package/src/trim.ts +0 -53
  281. package/src/type.ts +2 -45
  282. package/src/unify.ts +13 -251
  283. package/src/utility.ts +0 -31
  284. package/src/val/AbnfFuncVal.ts +181 -0
  285. package/src/val/AbsentVal.ts +54 -0
  286. package/src/val/AggFuncVal.ts +152 -188
  287. package/src/val/ArithFuncVal.ts +0 -20
  288. package/src/val/BagVal.ts +1 -78
  289. package/src/val/BigDecimalVal.ts +0 -16
  290. package/src/val/BigIntegerVal.ts +0 -16
  291. package/src/val/CloseFuncVal.ts +0 -9
  292. package/src/val/CmpFuncVal.ts +4 -166
  293. package/src/val/ConjunctVal.ts +0 -33
  294. package/src/val/ConstraintVal.ts +2 -537
  295. package/src/val/ContainerKindVal.ts +0 -18
  296. package/src/val/CopyFuncVal.ts +0 -5
  297. package/src/val/Decimal.ts +1 -185
  298. package/src/val/DeprecateFuncVal.ts +0 -10
  299. package/src/val/DisjunctVal.ts +0 -157
  300. package/src/val/EachFuncVal.ts +0 -40
  301. package/src/val/EmitFuncVal.ts +8 -208
  302. package/src/val/ExpectVal.ts +0 -62
  303. package/src/val/FilterFuncVal.ts +0 -55
  304. package/src/val/FuncBaseVal.ts +9 -130
  305. package/src/val/GraphAtomVal.ts +0 -42
  306. package/src/val/HideFuncVal.ts +0 -15
  307. package/src/val/IntegerVal.ts +0 -61
  308. package/src/val/JunctionVal.ts +0 -20
  309. package/src/val/KeyFuncVal.ts +0 -48
  310. package/src/val/ListVal.ts +0 -59
  311. package/src/val/LowerFuncVal.ts +0 -12
  312. package/src/val/MapVal.ts +0 -151
  313. package/src/val/MatchFuncVal.ts +0 -59
  314. package/src/val/MaybeFuncVal.ts +86 -0
  315. package/src/val/MoveFuncVal.ts +0 -20
  316. package/src/val/NilVal.ts +0 -60
  317. package/src/val/NomFuncVal.ts +8 -95
  318. package/src/val/NumberVal.ts +0 -16
  319. package/src/val/OpBaseVal.ts +4 -17
  320. package/src/val/PackFuncVal.ts +0 -63
  321. package/src/val/PathFuncVal.ts +0 -32
  322. package/src/val/PathVal.ts +0 -66
  323. package/src/val/PlaceVal.ts +0 -45
  324. package/src/val/PlusOpVal.ts +18 -75
  325. package/src/val/PrefFuncVal.ts +0 -1
  326. package/src/val/PrefVal.ts +0 -179
  327. package/src/val/RecurseVal.ts +0 -81
  328. package/src/val/RefVal.ts +1 -285
  329. package/src/val/ReferFuncVal.ts +0 -255
  330. package/src/val/ScalarKindVal.ts +0 -50
  331. package/src/val/ScalarVal.ts +0 -12
  332. package/src/val/StrFuncVal.ts +0 -44
  333. package/src/val/SuperFuncVal.ts +0 -42
  334. package/src/val/TopVal.ts +0 -1
  335. package/src/val/TranslateFuncVal.ts +1 -51
  336. package/src/val/UpperFuncVal.ts +0 -12
  337. package/src/val/Val.ts +3 -192
  338. package/src/val/VarVal.ts +0 -15
  339. package/src/val/arith.ts +0 -92
  340. package/src/val/caserange.ts +0 -62
  341. package/src/val/members.ts +0 -23
  342. package/src/val/numcmp.ts +1 -27
  343. package/src/val/numkind.ts +0 -149
  344. package/src/val/valutil.ts +0 -16
  345. package/src/vet.ts +1 -582
  346. package/src/view.ts +0 -507
  347. package/src/walk.ts +0 -41
  348. package/dist/std.d.ts +0 -3
  349. package/dist/std.js +0 -672
  350. package/dist/std.js.map +0 -1
  351. package/dist/val/FormFuncVal.js +0 -55
  352. package/dist/val/FormFuncVal.js.map +0 -1
  353. package/dist/val/NamerFuncVal.d.ts +0 -12
  354. package/dist/val/NamerFuncVal.js +0 -176
  355. package/dist/val/NamerFuncVal.js.map +0 -1
  356. package/src/std.ts +0 -683
@@ -11,9 +11,7 @@ const top_1 = require("./top");
11
11
  const NilVal_1 = require("../val/NilVal");
12
12
  const PrefVal_1 = require("../val/PrefVal");
13
13
  const JunctionVal_1 = require("../val/JunctionVal");
14
- // TODO: move main logic to op/disjunct
15
14
  class DisjunctVal extends JunctionVal_1.JunctionVal {
16
- // TODO: sites from normalization of orginal Disjuncts, as well as child pegs
17
15
  constructor(spec, ctx, _sites) {
18
16
  super(spec, ctx);
19
17
  this.isDisjunct = true;
@@ -38,61 +36,14 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
38
36
  return ranked;
39
37
  }
40
38
  }
41
- // // // console.log('DISJUNCT-unify-A', this.id, this.canon)
42
39
  let done = true;
43
40
  let oval = [];
44
- // Conjunction (&) distributes over disjunction (|).
45
- //
46
- // Each member is tried against peer in isolation: if that trial
47
- // produces any errors, the member fails and is marked with a NilVal.
48
- // Previously this used `ctx?.clone({err: []})` per member - a
49
- // per-iteration context clone (two Object.creates) just to hold a
50
- // throwaway error array. For schemas with many disjunctions
51
- // (e.g. `*true | boolean`, `method: GET | PUT | ...`) this was the
52
- // single largest source of clones in the unify hot path.
53
- //
54
- // Swap-and-restore avoids the clone: the existing ctx's err array
55
- // is saved, replaced with a fresh array for each trial, then
56
- // restored. ctx mutation is scoped to this loop and fully undone
57
- // before return.
58
41
  const savedErr = ctx.err;
59
42
  const savedTrialMode = ctx._trialMode;
60
- // THE SANDBOX MUST NOT OUTLIVE THE TRIAL AS AN OWN PROPERTY.
61
- // Contexts are made with Object.create(parent) and CACHED per
62
- // (parent, key) by AontuContext.descend, so `err` and `_trialMode`
63
- // are normally INHERITED -- and assigning them here, the restore
64
- // included, creates own properties that shadow the ancestor on
65
- // every later pass. A child that has run a trial of its own then
66
- // cannot see the trial its PARENT is running: makeNilErr allocates
67
- // a real NilVal instead of TRIAL_NIL, the refusal lands on the
68
- // meet's real error list, and the losing member is kept as though
69
- // it had survived -- with the nil inside it. A vet run then
70
- // reported the conflicts of arms that should have dropped out, and
71
- // called the document invalid where it is incomplete.
72
- //
73
- // So the restore DELETES what was inherited rather than writing it
74
- // back. Both arms of both guards are live: the root meet context
75
- // has an own `err`, a descended child does not, and `_trialMode`
76
- // is own exactly when a disjunction is tried inside another
77
- // disjunction's trial on the same context.
78
43
  const ownErr = Object.prototype.hasOwnProperty.call(ctx, 'err');
79
44
  const ownTrialMode = Object.prototype.hasOwnProperty.call(ctx, '_trialMode');
80
- // A MEMBER'S TYPE FLOW IS PART OF THAT MEMBER. `refer(t)`/`rel(t)`
81
- // assert `t` on ANOTHER node, and the assertion may only take
82
- // effect if the member that makes it survives: committing every
83
- // member's flow puts `t_A & t_B` on the target, which no reading
84
- // of `A | B` licenses and which leaves the target MORE constrained
85
- // than either alternative. The flow record is therefore staged per
86
- // trial, like `ctx.err`, and only the survivors' records are
87
- // merged into the real one below.
88
45
  const savedFlows = ctx.referflows;
89
46
  const staged = [];
90
- // C1-inner: tell `makeNilErr` to return TRIAL_NIL in this scope
91
- // instead of allocating per-failure NilVals. Save/restore so
92
- // nested DisjunctVal trials (and the outer non-trial code) are
93
- // not affected. The restore lives in `finally`: if a trial throws,
94
- // leaving ctx._trialMode=true would collapse every subsequent real
95
- // error in this ctx to the shared TRIAL_NIL sentinel.
96
47
  ctx._trialMode = true;
97
48
  let gate = undefined;
98
49
  try {
@@ -106,10 +57,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
106
57
  }
107
58
  oval[vI] = (0, unify_1.unite)(te ? ctx.clone({ explain: (0, utility_1.ec)(te, 'DIST:' + vI) }) : ctx, v, peer, 'dj-peer');
108
59
  if (0 < trialErr.length) {
109
- // C1: failed-trial marker is never user-visible — it just
110
- // signals "this disjunct member doesn't match" and is
111
- // filtered out before the result is built. Use the shared
112
- // sentinel instead of allocating a fresh NilVal per trial.
113
60
  oval[vI] = NilVal_1.TRIAL_NIL;
114
61
  }
115
62
  else if (v instanceof PrefVal_1.PrefVal &&
@@ -123,23 +70,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
123
70
  }
124
71
  done = done && type_1.DONE === oval[vI].dc;
125
72
  }
126
- // THE ADMISSION GATE (ADR-004). A peer that meets a preference
127
- // INSIDE a disjunction must be admitted by the disjunction: by
128
- // some sibling alternative (whose own trial above already
129
- // answers that), or by the preferred value itself (the pref
130
- // branch's own admitted set). The pref's kind gate alone used to
131
- // decide, so a same-kind concrete peer replaced the default with
132
- // the alternatives never consulted -- `k:*'auto'|'literal'|'data'`
133
- // plus `k:'autoo'` answered "autoo", and `*8080|(integer&neq(80))`
134
- // admitted 80 (use-cases/BUGS.md §1-2). An inadmissible override
135
- // now fails the pref member's trial, and when every member is
136
- // gone the meet is the existing `empty` refusal.
137
- //
138
- // SCALAR preferred values only, exactly the kind gate's own
139
- // boundary (test/spec/pref.tsv, "THE GATE IS A SCALAR GATE"): a
140
- // structural or kind-peg default stays ungated. A deliberately
141
- // open default remains spellable as `*x|top` -- the top branch
142
- // admits every override (the apidef machine-emitted idiom).
143
73
  if (undefined !== gate) {
144
74
  for (const gI of gate) {
145
75
  let admitted = false;
@@ -181,20 +111,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
181
111
  ctx.referflows = savedFlows;
182
112
  }
183
113
  // // // console.log('DISJUNCT-unify-B', this.id, oval.map(v => v.canon))
184
- // A PREFERENCE CONJOINED WITH A DISJUNCTION IS A PREFERENCE ON THE
185
- // ALTERNATIVE IT NAMES: `(A|B) & *A` is `*A|B`, the same value the
186
- // direct spelling `*A|B` denotes. Distribution carries the peer to
187
- // each member, and a scalar preference meeting a concrete same-kind
188
- // member is replaced BY that member (the kind gate) -- so the
189
- // preference simply vanished, and `specversion: ("1.0"|"1.1") &
190
- // *"1.0"`, the enum-with-default written the other way round, held
191
- // no default at all. The old generation fold hid it by folding the
192
- // members together; ADR-007 does not, and a disjunction that has
193
- // lost its default is not the value the author wrote.
194
- //
195
- // A preference naming no alternative is dropped, as it is today: it
196
- // has nothing to prefer, and the default-validity lint is what
197
- // reports that shape.
198
114
  if (true === peer.isPref) {
199
115
  const want = (0, PrefVal_1.prefInnerPeg)(peer);
200
116
  for (let vI = 0; vI < oval.length; vI++) {
@@ -224,17 +140,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
224
140
  oval[kI] = NilVal_1.TRIAL_NIL;
225
141
  continue;
226
142
  }
227
- // TWO PREFERENCES OVER ONE VALUE ARE ONE PREFERENCE, and
228
- // the lower rank is the one that generates: `*1 | **1` is
229
- // `*1`. Ranking folds EQUAL ranks (R2); this folds the rest,
230
- // which R5 stopped discarding.
231
- //
232
- // A PLAIN arm holding that same value is NOT a duplicate of
233
- // it and must not be folded away: it is the sibling that
234
- // ADMITS an override under ADR-004's gate, which is the
235
- // whole point of writing `*x | x`. Folding it turned that
236
- // idiom's own default into a `pref_not_instance` finding,
237
- // and `*top | top` is pinned as its control.
238
143
  const a = oval[vI];
239
144
  const b = oval[kI];
240
145
  if (true === a.isPref && true === b.isPref
@@ -251,10 +156,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
251
156
  }
252
157
  // // // console.log('DISJUNCT-unify-D', this.id, oval.map(v => v.canon))
253
158
  }
254
- // THE SURVIVORS' FLOWS, AND ONLY THEIRS. Members knocked out by
255
- // the trial, by the admission gate or by the dedup above are all
256
- // nil here, so this runs after every one of those and before the
257
- // filter that drops them.
258
159
  if (undefined !== savedFlows) {
259
160
  for (let vI = 0; vI < staged.length; vI++) {
260
161
  const st = staged[vI];
@@ -282,13 +183,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
282
183
  }
283
184
  else {
284
185
  out = new DisjunctVal({ peg: oval }, ctx);
285
- // A NARROWED DISJUNCTION IS STILL THAT DISJUNCTION. The meet mints
286
- // a fresh value, which used to arrive unsited and file-less -- so
287
- // every finding naming a disjunction that had met anything
288
- // pointed at row -1 with no file, and an agent handed the report
289
- // had nowhere to go (the review's finding F). `place` copies the
290
- // whole site, position and url together, which is what tells the
291
- // report which document it came from.
292
186
  this.place(out);
293
187
  }
294
188
  out.dc = done ? type_1.DONE : this.dc + 1;
@@ -297,24 +191,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
297
191
  (0, utility_1.explainClose)(te, out);
298
192
  return out;
299
193
  }
300
- // RANK ORDERS THE SURVIVORS, IT DOES NOT DISCARD AT PARSE (ADR-011
301
- // R5, docs/design/DEFAULTS.0.md). Every rank is KEPT here, and
302
- // generation takes the lowest-rank preference still standing -- so
303
- // eliminating the lower arm PROMOTES the next instead of taking the
304
- // whole ladder with it. This ran once, before the member trials,
305
- // and discarded every arm but the lowest: `*1 | **2` met by
306
- // `neq(1)` lost the default entirely and refused, where the ladder
307
- // exists precisely to answer 2. Rank is a preference order over
308
- // WHAT SURVIVES, which is not knowable until the trials have run.
309
- //
310
- // Only EQUAL ranks fold, because two defaults at one rank are one
311
- // decision: compatible pegs merge, and a disagreement is the
312
- // `pref_rank_clash` refusal (R2), which belongs to the whole
313
- // disjunction -- there is no alternative to fall back to.
314
- //
315
- // Answers the sole surviving preference when the disjunction holds
316
- // exactly one -- which the RECURSIVE call below consumes to lift a
317
- // nested disjunct's winner into this one -- or the clash refusal.
318
194
  rankPrefs(ctx) {
319
195
  // The kept index per rank, so an equal-rank twin folds into the
320
196
  // arm already standing for that rank.
@@ -366,25 +242,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
366
242
  getJunctionSymbol() {
367
243
  return '|';
368
244
  }
369
- // AN UNRESOLVED DISJUNCTION IS NOT A VALUE (ADR-007).
370
- //
371
- // Generation used to FOLD the surviving members together with unify
372
- // and emit the result. That answer is in no branch of the
373
- // disjunction: `({x:1}|{y:2}) & {z:3}` generated `{x:1,y:2,z:3}`, a
374
- // map the model never admits, and `1|2` died as a scalar_value
375
- // CONFLICT -- the conflict of the fold, not of anything the author
376
- // wrote. The second half is what made vet decorative: vet's
377
- // incompleteness check keeps incomplete-class findings, so a missing
378
- // required enum field (`role: 'a'|'b'` with no data) arrived as a
379
- // conflict, was filtered out, and vetted VALID with zero findings
380
- // (use-cases/BUGS.md §13, the review's finding C).
381
- //
382
- // What remains after unification is what the model still admits, so
383
- // more than one surviving alternative means the truth is not yet
384
- // settled -- incomplete, the same class a bare `string` residue
385
- // answers, and the same answer CUE gives for a non-concrete export.
386
- // A preference resolves it (that is what `*` is for), and so does a
387
- // single surviving member.
388
245
  gen(ctx) {
389
246
  if (0 < this.peg.length) {
390
247
  // Ranking may not have run when gen is reached without a prior
@@ -394,12 +251,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
394
251
  this.rankPrefs(ctx);
395
252
  }
396
253
  const prefs = this.peg.filter((v) => v instanceof PrefVal_1.PrefVal);
397
- // ALTERNATIVES THAT GENERATE THE SAME VALUE ARE RESOLVED
398
- // (ADR-007's rule, asked at the moment it matters): `[] | [&:
399
- // T]` met by an empty list keeps both arms -- they differ as
400
- // SCHEMAS, which is what stops the dedup collapsing the
401
- // template away (BUGS.md §52 regime 4) -- but both generate
402
- // the empty list, and one generated value is one value.
403
254
  if (0 === prefs.length && 1 < this.peg.length) {
404
255
  const gctx = ctx.clone({ err: [], collect: true });
405
256
  let firstOut;
@@ -429,9 +280,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
429
280
  }
430
281
  return undefined;
431
282
  }
432
- // THE LOWEST-RANK SURVIVOR (R5). Ranking no longer discards the
433
- // weaker arms, so the choice is made here, over what is left:
434
- // `*1 | **2` answers 1, and answers 2 once `*1` is gone.
435
283
  let best = this.peg[0];
436
284
  if (0 < prefs.length) {
437
285
  best = prefs[0];
@@ -1 +1 @@
1
- {"version":3,"file":"DisjunctVal.js","sourceRoot":"","sources":["../../src/val/DisjunctVal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DisjunctVal.js","sourceRoot":"","sources":["../../src/val/DisjunctVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAQzD,kCAEgB;AAIhB,gCAAwD;AACxD,4CAAwC;AACxC,oCAAgC;AAEhC,wCAImB;AAMnB,+BAEc;AAEd,0CAAyC;AACzC,4CAAsD;AACtD,oDAAgD;AAGhD,MAAM,WAAY,SAAQ,yBAAW;IAOnC,YACE,IAEC,EACD,GAAkB,EAClB,MAAe;QAEf,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAblB,eAAU,GAAG,IAAI,CAAA;QACjB,cAAS,GAAG,IAAI,CAAA;QAChB,QAAG,GAAG,KAAK,CAAA;QAEX,gBAAW,GAAG,KAAK,CAAA;IAUnB,CAAC;IAGD,kBAAkB;IAClB,MAAM,CAAC,IAAS;QACd,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAClB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAGD,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,IAAI,GAAG,IAAI,IAAI,IAAA,SAAG,GAAE,CAAA;QAEpB,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,IAAI,IAAA,qBAAW,EAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAE/E,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;YAClC,4DAA4D;YAC5D,oDAAoD;YACpD,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACnC,OAAO,MAAM,CAAA;YACf,CAAC;QACH,CAAC;QAGD,IAAI,IAAI,GAAG,IAAI,CAAA;QAEf,IAAI,IAAI,GAAU,EAAE,CAAA;QAEpB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAA;QACxB,MAAM,cAAc,GAAG,GAAG,CAAC,UAAU,CAAA;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC/D,MAAM,YAAY,GAChB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;QACzD,MAAM,UAAU,GAAkC,GAAW,CAAC,UAAU,CAAA;QACxE,MAAM,MAAM,GAAqC,EAAE,CAAA;QACnD,GAAG,CAAC,UAAU,GAAG,IAAI,CAAA;QACrB,IAAI,IAAI,GAAyB,SAAS,CAAA;QAC1C,IAAI,CAAC;YACH,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;gBAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACtB,MAAM,QAAQ,GAAU,EAAE,CAAA;gBAC1B,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAA;gBAClB,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;oBAC7B,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CACrB;oBAAC,GAAW,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;gBACvC,CAAC;gBAED,IAAI,CAAC,EAAE,CAAC,GAAG,IAAA,aAAK,EAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;gBAE7F,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACxB,IAAI,CAAC,EAAE,CAAC,GAAG,kBAAS,CAAA;gBACtB,CAAC;qBACI,IAAI,CAAC,YAAY,iBAAO;oBAC3B,CAAE,IAAY,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK;oBACpC,IAAI,KAAM,IAAA,sBAAY,EAAC,CAAC,CAAS,CAAC,QAAQ,EAAE,CAAC;oBAC7C,wDAAwD;oBACxD,mDAAmD;oBACnD,eAAe;oBACf,CAAC;oBAAC,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC;gBAED,IAAI,GAAG,IAAI,IAAI,WAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;YACrC,CAAC;YAED,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;oBACtB,IAAI,QAAQ,GAAG,KAAK,CAAA;oBACpB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC;wBACrD,wDAAwD;wBACxD,oDAAoD;wBACpD,+CAA+C;wBAC/C,QAAQ,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK;4BACrC,CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAS,CAAC,MAAM,CAAA;oBACjC,CAAC;oBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,MAAM,QAAQ,GAAU,EAAE,CAAA;wBAC1B,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAA;wBAClB,yDAAyD;wBACzD,kDAAkD;wBAClD,mCAAmC;wBACnC,MAAM,GAAG,GAAG,IAAA,aAAK,EAAC,GAAG,EACnB,IAAA,sBAAY,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAY,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EACtD,UAAU,CAAC,CAAA;wBACb,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;4BACrC,IAAI,CAAC,EAAE,CAAC,GAAG,kBAAS,CAAA;wBACtB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBACO,CAAC;YACP,IAAI,YAAY,EAAE,CAAC;gBACjB,GAAG,CAAC,UAAU,GAAG,cAAc,CAAA;YACjC,CAAC;iBACI,CAAC;gBACJ,OAAQ,GAAW,CAAC,UAAU,CAAA;YAChC,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAA;YACpB,CAAC;iBACI,CAAC;gBACJ,OAAQ,GAAW,CAAC,GAAG,CAAA;YACzB,CAAC;YACD,CAAC;YAAC,GAAW,CAAC,UAAU,GAAG,UAAU,CAAA;QACvC,CAAC;QAED,yEAAyE;QAEzE,IAAI,IAAI,KAAM,IAAY,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,GAAQ,IAAA,sBAAY,EAAC,IAAe,CAAC,CAAA;YAC/C,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;gBACxC,MAAM,GAAG,GAAQ,IAAI,CAAC,EAAE,CAAC,CAAA;gBACzB,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxD,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;oBAC9C,OAAO,CAAC,IAAI,GAAI,IAAgB,CAAC,IAAI,CACpC;oBAAC,IAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;oBACjC,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAA;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;gBACxC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;gBACrC,CAAC;YACH,CAAC;YAED,sFAAsF;YAEtF,8DAA8D;YAC9D,2DAA2D;YAC3D,gEAAgE;YAChE,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;gBACxC,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;oBAC7C,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;wBAC5B,IAAI,CAAC,EAAE,CAAC,GAAG,kBAAS,CAAA;wBACpB,SAAQ;oBACV,CAAC;oBAED,MAAM,CAAC,GAAQ,IAAI,CAAC,EAAE,CAAC,CAAA;oBACvB,MAAM,CAAC,GAAQ,IAAI,CAAC,EAAE,CAAC,CAAA;oBACvB,IAAI,IAAI,KAAK,CAAC,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,MAAM;2BACrC,IAAA,sBAAY,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,sBAAY,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3C,IAAK,CAAa,CAAC,IAAI,IAAK,CAAa,CAAC,IAAI,EAAE,CAAC;4BAC/C,IAAI,CAAC,EAAE,CAAC,GAAG,kBAAS,CAAA;wBACtB,CAAC;6BACI,CAAC;4BACJ,IAAI,CAAC,EAAE,CAAC,GAAG,kBAAS,CAAA;4BACpB,MAAK;wBACP,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,yEAAyE;QAC3E,CAAC;QAED,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;gBAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;gBACrB,IAAI,SAAS,KAAK,EAAE,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;oBACjD,SAAQ;gBACV,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;oBACzB,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;oBAC9B,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;wBACvC,CAAC,CAAC,IAAA,aAAK,EAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAA;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,8DAA8D;QAC9D,2DAA2D;QAC3D,sDAAsD;QACtD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAEjC,IAAI,GAAQ,CAAA;QAEZ,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACrB,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACf,CAAC;aACI,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAC7C,CAAC;aACI,CAAC;YACJ,GAAG,GAAG,IAAI,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAA;YACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjB,CAAC;QAED,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,WAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;QAElC,sCAAsC;QACtC,qEAAqE;QAErE,IAAA,sBAAY,EAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAErB,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,SAAS,CAAC,GAAiB;QACzB,gEAAgE;QAChE,sCAAsC;QACtC,MAAM,MAAM,GAA2B,EAAE,CAAA;QAEzC,+DAA+D;QAE/D,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACtB,IAAI,IAAI,GAAwB,SAAS,CAAA;YAEzC,IAAI,CAAC,YAAY,iBAAO,EAAE,CAAC;gBACzB,IAAI,GAAG,CAAC,CAAA;YACV,CAAC;iBACI,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAI,CAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;gBACjD,IAAI,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACrC,OAAO,OAAO,CAAA;gBAChB,CAAC;gBACD,IAAI,OAAO,YAAY,iBAAO,EAAE,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAA;oBACtB,IAAI,GAAG,OAAO,CAAA;gBAChB,CAAC;YACH,CAAC;YAED,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC5B,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;gBACxB,CAAC;qBACI,CAAC;oBACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;oBAC5C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;wBACjB,OAAO,MAAM,CAAA;oBACf,CAAC;oBACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAA;oBACrB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,+DAA+D;QAE/D,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,iBAAO,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACpB,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAGD,KAAK,CAAC,GAAiB,EAAE,IAAc;QACrC,IAAI,GAAG,GAAI,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAiB,CAAA;QACjD,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,iBAAiB;QACf,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,GAAG,CAAC,GAAiB;QACnB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACxB,+DAA+D;YAC/D,iEAAiE;YACjE,4DAA4D;YAC5D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;YACrB,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,YAAY,iBAAO,CAAC,CAAA;YAE/D,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;gBAClD,IAAI,QAAa,CAAA;gBACjB,IAAI,OAAO,GAAG,IAAI,CAAA;gBAClB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC;oBACvD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACnC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;wBAC9C,OAAO,GAAG,KAAK,CAAA;oBACjB,CAAC;yBACI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;wBAClB,QAAQ,GAAG,IAAI,CAAA;oBACjB,CAAC;yBACI,CAAC;wBACJ,OAAO,GAAG,IAAA,qBAAS,EAAC,IAAI,CAAC,KAAK,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAA;oBACnD,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,QAAQ,CAAA;gBACjB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,IAAA,gBAAU,EAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAA;gBACrD,IAAA,aAAO,EAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBAClB,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;gBAEjB,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;oBAChC,MAAM,IAAI,gBAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;gBACxC,CAAC;gBAED,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,IAAI,IAAI,GAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC3B,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACrB,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACf,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,IAAK,CAAa,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBACpC,IAAI,GAAG,CAAC,CAAA;oBACV,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,CAAC;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;CACF,CAAC,iCAAiC;QAIjC,WAAW"}
@@ -41,9 +41,6 @@ class EachFuncVal extends FuncBaseVal_1.FuncBaseVal {
41
41
  const peg = [];
42
42
  for (let i = 0; i < vals.length; i++) {
43
43
  const elctx = ctx.descend(String(i));
44
- // A FULL INSTANCE per element, to the leaves (`dup`, ADR-005),
45
- // at the element's own position -- see PackFuncVal.resolve --
46
- // with `_` bound to the source child and NOTHING met into it.
47
44
  const inst = tmpl.clone(elctx, { dup: true });
48
45
  (0, Val_1.repathInstance)(inst, inst.path);
49
46
  peg.push((0, PlaceVal_1.fillPlace)(inst, vals[i], elctx));
@@ -1 +1 @@
1
- {"version":3,"file":"EachFuncVal.js","sourceRoot":"","sources":["../../src/val/EachFuncVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAgDpD,gCAAmC;AACnC,uCAAmC;AACnC,+CAA2C;AAC3C,+BAAsC;AACtC,yCAAsC;AACtC,uCAAsC;AAGtC,MAAM,WAAY,SAAQ,yBAAW;IAOnC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAVlB,eAAU,GAAG,IAAI,CAAA;QAEjB,kEAAkE;QAClE,8CAA8C;QAC9C,WAAM,GAAG,IAAI,CAAA;IAOb,CAAC;IAGD,QAAQ;QACN,OAAO,MAAM,CAAA;IACf,CAAC;IAGD,sEAAsE;IACtE,OAAO,CAAC,IAAkB,EAAE,KAAY;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAGD,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,6DAA6D;QAC7D,kBAAkB;QAClB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;IAGD,OAAO,CAAC,GAAiB,EAAE,IAAW;QACpC,MAAM,IAAI,GAAG,IAAA,oBAAU,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACvC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;QAC3C,CAAC;QAED,kEAAkE;QAClE,MAAM,IAAI,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,GAAG,GAAU,EAAE,CAAA;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,+DAA+D;YAC/D,8DAA8D;YAC9D,8DAA8D;YAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7C,IAAA,oBAAc,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/B,GAAG,CAAC,IAAI,CAAC,IAAA,oBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;IAClC,CAAC;CAEF,CAAC,iCAAiC;QAIjC,WAAW"}
1
+ {"version":3,"file":"EachFuncVal.js","sourceRoot":"","sources":["../../src/val/EachFuncVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAWpD,gCAAmC;AACnC,uCAAmC;AACnC,+CAA2C;AAC3C,+BAAsC;AACtC,yCAAsC;AACtC,uCAAsC;AAGtC,MAAM,WAAY,SAAQ,yBAAW;IAOnC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAVlB,eAAU,GAAG,IAAI,CAAA;QAEjB,kEAAkE;QAClE,8CAA8C;QAC9C,WAAM,GAAG,IAAI,CAAA;IAOb,CAAC;IAGD,QAAQ;QACN,OAAO,MAAM,CAAA;IACf,CAAC;IAGD,sEAAsE;IACtE,OAAO,CAAC,IAAkB,EAAE,KAAY;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAGD,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,6DAA6D;QAC7D,kBAAkB;QAClB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;IAGD,OAAO,CAAC,GAAiB,EAAE,IAAW;QACpC,MAAM,IAAI,GAAG,IAAA,oBAAU,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACvC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;QAC3C,CAAC;QAED,kEAAkE;QAClE,MAAM,IAAI,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,GAAG,GAAU,EAAE,CAAA;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7C,IAAA,oBAAc,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/B,GAAG,CAAC,IAAI,CAAC,IAAA,oBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;IAClC,CAAC;CAEF,CAAC,iCAAiC;QAIjC,WAAW"}
@@ -12,7 +12,7 @@ type Template = {
12
12
  };
13
13
  type LitSpot = {
14
14
  i: number;
15
- of?: number;
15
+ n?: number;
16
16
  text?: boolean;
17
17
  s: string;
18
18
  };
@@ -22,15 +22,6 @@ function isRefusal(x) {
22
22
  // data and may be computed.
23
23
  function tableTemplates(table) {
24
24
  const t = table;
25
- // A NAMED TABLE IS A PLACEHELD `emit`, and its table is the table.
26
- // A table written at a document position is DRIVEN there -- a body's
27
- // relative references resolve against wherever it sits and miss --
28
- // so the position that holds one unevaluated is the one position the
29
- // language already never drives: a call's template argument.
30
- // `%wire = emit(_, [ … ])` is that position with the selection left
31
- // open, and it reads as what it is, an apply-templates waiting for
32
- // its nodes: `emit(.listen, %wire)` passes them, `.listen & %wire`
33
- // fills the hole, and both are the same dispatch.
34
25
  if (true === t?.isEmitFunc) {
35
26
  return tableTemplates(t.peg[1]);
36
27
  }
@@ -55,12 +46,6 @@ function tableTemplates(table) {
55
46
  }
56
47
  return { code: 'emit_table' };
57
48
  }
58
- // One rule. Both keys are required: a template with no pattern would
59
- // match everything by accident, and one with no body would emit
60
- // nothing while claiming a node. The two optional keys -- a `replace`
61
- // map and an `esc` naming the convention its values are escaped by,
62
- // `none` the one opt-out -- are the template's shape too, and D3's two
63
- // static checks run here, on the template alone, before any node.
64
49
  function oneTemplate(m, idx) {
65
50
  const match = m.peg.match;
66
51
  const body = m.peg.body;
@@ -96,12 +81,6 @@ function oneTemplate(m, idx) {
96
81
  function textOf(v) {
97
82
  return true === v?.isScalar && 'string' === typeof v.peg ? v.peg : undefined;
98
83
  }
99
- // The literal strings of a body -- a string element, and the strings
100
- // written directly in a map element's `of` list or `text` -- which are
101
- // the text the template wrote. A string an expression or a nested
102
- // dispatch computes is not one: D3's third rule (a spliced result is
103
- // finished) and its second (a substituted value is never re-scanned)
104
- // both follow from substituting at these spots and nowhere else.
105
84
  function literalSpots(elems) {
106
85
  const out = [];
107
86
  elems.forEach((el, i) => {
@@ -113,12 +92,12 @@ function literalSpots(elems) {
113
92
  if (true !== el?.isMap) {
114
93
  return;
115
94
  }
116
- const of = el.peg.of;
117
- if (true === of?.isList) {
118
- of.peg.forEach((p, j) => {
95
+ const chunks = el.peg.n;
96
+ if (true === chunks?.isList) {
97
+ chunks.peg.forEach((p, j) => {
119
98
  const ps = textOf(p);
120
99
  if (undefined !== ps) {
121
- out.push({ i, of: j, s: ps });
100
+ out.push({ i, n: j, s: ps });
122
101
  }
123
102
  });
124
103
  }
@@ -129,11 +108,6 @@ function literalSpots(elems) {
129
108
  });
130
109
  return out;
131
110
  }
132
- // D3's two static checks, on the template alone and before any node:
133
- // a key inside another is ambiguous whatever the order
134
- // (replace_overlap), and a key no literal holds means the template
135
- // drifted from its map (replace_unused). Keys are visited in code
136
- // point order, so both ports name the same pair.
137
111
  function checkReplace(keys, lits) {
138
112
  const sorted = [...keys].sort(keyorder_1.cmpCodePoint);
139
113
  for (const a of sorted) {
@@ -150,10 +124,6 @@ function checkReplace(keys, lits) {
150
124
  }
151
125
  return undefined;
152
126
  }
153
- // D3's first two rules as one scan: at each position the longest key
154
- // that matches is taken and its value written out whole, and the scan
155
- // moves past the KEY -- the value is never looked at again, so no
156
- // value can introduce a key.
157
127
  function substitute(text, pairs) {
158
128
  let out = '';
159
129
  let i = 0;
@@ -170,19 +140,14 @@ function substitute(text, pairs) {
170
140
  }
171
141
  return out;
172
142
  }
173
- // The instance with the template's literal text at element `i`
174
- // rewritten through the pairs -- on the fresh instance, where the
175
- // structure is exactly the template's, and before any binding, so a
176
- // value written in is never scanned again and a spliced result is
177
- // never touched.
178
143
  function substituted(inst, i, lits, pairs, ctx) {
179
144
  for (const l of lits) {
180
145
  if (l.i !== i) {
181
146
  continue;
182
147
  }
183
148
  const sv = new StringVal_1.StringVal({ peg: substitute(l.s, pairs) }, ctx);
184
- if (undefined !== l.of) {
185
- inst.peg.of.peg[l.of] = sv;
149
+ if (undefined !== l.n) {
150
+ inst.peg.n.peg[l.n] = sv;
186
151
  }
187
152
  else if (true === l.text) {
188
153
  inst.peg.text = sv;
@@ -215,14 +180,6 @@ function bindNode(v, node, ctx, fail) {
215
180
  return v;
216
181
  }
217
182
  const out = found.clone(ctx);
218
- // A RELATIVE REFERENCE IS A READ TOO (RENDER.0.md P7), and the one
219
- // read no reference resolution sees: the binding answers it here,
220
- // from the matched node, rather than letting a path resolve at a
221
- // position the body never occupies. Without this a nested rule set
222
- // whose selection is `.handlers` reported its nodes at the address
223
- // they came to rest, which is in the OUTPUT. A node carries an
224
- // address only under an instrumented run, which is what makes the
225
- // second test the whole guard.
226
183
  if (null == out.origin && null != node.origin) {
227
184
  ;
228
185
  out.origin = node.origin +
@@ -265,12 +222,6 @@ function bindNode(v, node, ctx, fail) {
265
222
  }
266
223
  return v;
267
224
  }
268
- // The field of `node` a reference names, or undefined when it names
269
- // none. Only a chain of plain NAMES is a field: a parent step has no
270
- // answer at a node that is an origin rather than a position, and a
271
- // variable segment is not a name until something resolves it -- both
272
- // are refused here rather than left to resolve somewhere else, which
273
- // is the failure mode the binding exists to remove.
274
225
  function nodeField(ref, node) {
275
226
  let cur = node;
276
227
  for (const seg of ref.peg) {
@@ -288,21 +239,6 @@ function nodeField(ref, node) {
288
239
  }
289
240
  return cur;
290
241
  }
291
- // The address of one matched node: its own read address when it has
292
- // one, else the SELECTION's read address and the node's key under it
293
- // -- a selection is read once and walked, so its members carry no read
294
- // of their own.
295
- //
296
- // A COMPUTED SELECTION HAS NO ADDRESS, AND THE TRACE SAYS SO: an empty
297
- // node. `filter(...)` builds a bag no path in the document names, and
298
- // the only other thing to report is where the bag came to REST -- a
299
- // position inside a template instance, which is not in the document,
300
- // and which the two ports number differently. Publishing that would
301
- // have made the trace a parity break as well as a fiction. The rule
302
- // address answers the same way: `<table>#<index>` for a table a
303
- // reference reached, and `#<index>` alone for one written inline at the
304
- // call site, which has no address of its own. `#` is in no path, so a
305
- // rule's address can never be read as one.
306
242
  function nodeAddr(sel, key, node) {
307
243
  if (null != node.origin) {
308
244
  return node.origin;
@@ -349,21 +285,10 @@ class EmitFuncVal extends FuncBaseVal_1.FuncBaseVal {
349
285
  return super.unify(peer, ctx);
350
286
  }
351
287
  resolve(ctx, args) {
352
- // THE MEMBERS WITH THEIR KEYS, read through the one helper every
353
- // fold reads a bag by (./members.ts): source order for a list,
354
- // sorted-key order for a map, a hidden child and an unfilled
355
- // optional left out. The KEY is what the trace addresses a node by
356
- // -- it is the node's key IN THE SELECTION, which is the only
357
- // thing a walk of a computed bag knows about where a node sits.
358
288
  const nodes = (0, members_1.bagMembers)(args?.[0], ctx);
359
289
  if (undefined === nodes) {
360
290
  return (0, err_1.makeNilErr)(ctx, 'emit_data', this);
361
291
  }
362
- // A NAMED TABLE IS REACHED BY REFERENCE, and the reference -- not
363
- // the table -- is what is followed. Followed HERE rather than in
364
- // the staged drive, which waits for a SETTLED target: a table is a
365
- // template, a template holding a hole never settles, and waiting
366
- // for one would mean the dispatch never fires.
367
292
  let table = args?.[1];
368
293
  if (true === table?.isRef) {
369
294
  table = table.unify((0, top_1.top)(), ctx);
@@ -372,10 +297,6 @@ class EmitFuncVal extends FuncBaseVal_1.FuncBaseVal {
372
297
  if (isRefusal(templates)) {
373
298
  return this.refuse(ctx, templates);
374
299
  }
375
- // THE TRACE'S TWO ADDRESSES (RENDER.0.md D11, P7), computed once
376
- // per dispatch and only when the run is instrumented: the table's
377
- // own, which every rule of it is numbered under, and the
378
- // selection's, which every node of it is keyed under.
379
300
  const rec = undefined !== ctx.reads;
380
301
  const tableAddr = rec ? (table?.origin ?? '') : '';
381
302
  const selAddr = rec ? args?.[0]?.origin : undefined;
@@ -392,11 +313,6 @@ class EmitFuncVal extends FuncBaseVal_1.FuncBaseVal {
392
313
  const fail = {};
393
314
  let mark = undefined;
394
315
  if (rec) {
395
- // THE NODE KEEPS ITS ADDRESS (P7). A body passes the node on
396
- // through `_`, and a nested rule set dispatching over it can
397
- // then say where it came from -- otherwise the node arrives as
398
- // an element of a list the body wrote, and the only address
399
- // left is where that list came to rest.
400
316
  const naddr = nodeAddr(selAddr, member.key, node);
401
317
  if ('' !== naddr && null == node.origin) {
402
318
  ;
@@ -446,14 +362,6 @@ class EmitFuncVal extends FuncBaseVal_1.FuncBaseVal {
446
362
  }
447
363
  return tried.join(' ');
448
364
  }
449
- // The replacement pairs for one node: the template's `replace` map
450
- // instantiated at the node -- bound, filled and driven as a body is
451
- // -- each value as text by the one number-to-text rule (`plusText`,
452
- // the rule `+` and `join` share), escaped by the template's
453
- // convention unless that is `none`, and sorted longest key first so
454
- // the scan takes the longest match at every position (D3's first
455
- // rule). A value that is not text, or has not settled, is
456
- // replace_value.
457
365
  replacements(ctx, node, tmpl, fail) {
458
366
  if (undefined === tmpl.replace) {
459
367
  return undefined;
@@ -477,13 +385,6 @@ class EmitFuncVal extends FuncBaseVal_1.FuncBaseVal {
477
385
  pairs.sort((a, b) => b[0].length - a[0].length || (0, keyorder_1.cmpCodePoint)(a[0], b[0]));
478
386
  return pairs;
479
387
  }
480
- // Instantiate one body at the node and SPLICE its pieces into the
481
- // output. A full instance to the leaves (`dup`, ADR-005), because a
482
- // bare clone shares the inner structure of any call in the body and
483
- // the first node's resolution would answer for every node; the
484
- // template's replacements written into the instance's literal text;
485
- // then the two bindings, relative references and the hole, both to
486
- // the node.
487
388
  instantiate(ctx, node, tmpl, out, fail, mark) {
488
389
  const pairs = this.replacements(ctx, node, tmpl, fail);
489
390
  if (undefined !== fail.code) {
@@ -497,23 +398,9 @@ class EmitFuncVal extends FuncBaseVal_1.FuncBaseVal {
497
398
  inst = substituted(inst, i, tmpl.lits, pairs, elctx);
498
399
  }
499
400
  let piece = (0, PlaceVal_1.fillPlace)(bindNode(inst, node, elctx, fail), node, elctx);
500
- // A NESTED DISPATCH IS DRIVEN HERE, not left for the next pass.
501
- // Its selection is bound and the model has settled, so it has
502
- // everything it needs -- and it must answer NOW, because what
503
- // makes the result flat is splicing its pieces into this one.
504
- // Left standing, a nested `emit` resolved a pass later, as a
505
- // list INSIDE the list, and the fragment algebra is flat.
506
- // Through `unite` rather than by hand: a rule set that walks
507
- // into itself for ever is charged to the depth budget and
508
- // refused as `unify_cycle`, like any other runaway descent.
509
401
  if (!piece.done) {
510
402
  piece = (0, unify_1.unite)(elctx, piece, (0, top_1.top)(), 'emit');
511
403
  }
512
- // THE INNERMOST DISPATCH OWNS THE PIECE (P7). A body element
513
- // that is a nested rule set has already stamped what it emitted,
514
- // and those pieces are spliced into this result here: the rule
515
- // that WROTE a line is the one the trace names, so a stamp is
516
- // written only where there is none.
517
404
  const at = out.length;
518
405
  splice(piece, out);
519
406
  if (undefined !== mark) {