@getodk/xforms-engine 0.4.0 → 0.6.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 (392) hide show
  1. package/README.md +1 -1
  2. package/dist/client/BaseNode.d.ts +18 -3
  3. package/dist/client/BaseValueNode.d.ts +32 -0
  4. package/dist/client/EngineConfig.d.ts +49 -48
  5. package/dist/client/GroupNode.d.ts +1 -0
  6. package/dist/client/InputNode.d.ts +82 -0
  7. package/dist/client/ModelValueNode.d.ts +13 -7
  8. package/dist/client/NoteNode.d.ts +26 -9
  9. package/dist/client/RangeNode.d.ts +36 -0
  10. package/dist/client/RankNode.d.ts +46 -0
  11. package/dist/client/RootNode.d.ts +37 -7
  12. package/dist/client/SelectNode.d.ts +47 -25
  13. package/dist/client/SubtreeNode.d.ts +1 -0
  14. package/dist/client/TriggerNode.d.ts +10 -6
  15. package/dist/client/ValueType.d.ts +3 -0
  16. package/dist/client/constants.d.ts +50 -0
  17. package/dist/client/hierarchy.d.ts +8 -8
  18. package/dist/client/identity.d.ts +14 -0
  19. package/dist/client/node-types.d.ts +3 -2
  20. package/dist/client/resources.d.ts +93 -0
  21. package/dist/client/submission/SubmissionData.d.ts +7 -0
  22. package/dist/client/submission/SubmissionDefinition.d.ts +14 -0
  23. package/dist/client/submission/SubmissionInstanceFile.d.ts +6 -0
  24. package/dist/client/submission/SubmissionOptions.d.ts +23 -0
  25. package/dist/client/submission/SubmissionResult.d.ts +91 -0
  26. package/dist/client/submission/SubmissionState.d.ts +12 -0
  27. package/dist/client/unsupported/UnsupportedControlNode.d.ts +1 -3
  28. package/dist/client/validation.d.ts +2 -2
  29. package/dist/error/ErrorProductionDesignPendingError.d.ts +7 -0
  30. package/dist/error/RankMissingValueError.d.ts +3 -0
  31. package/dist/error/RankValueTypeError.d.ts +6 -0
  32. package/dist/error/SelectValueTypeError.d.ts +15 -0
  33. package/dist/error/ValueTypeInvariantError.d.ts +17 -0
  34. package/dist/error/XFormsSpecViolationError.d.ts +2 -0
  35. package/dist/error/XPathFunctionalityError.d.ts +14 -0
  36. package/dist/error/XPathFunctionalityNotSupportedError.d.ts +7 -0
  37. package/dist/error/XPathFunctionalityPendingError.d.ts +7 -0
  38. package/dist/index.d.ts +12 -4
  39. package/dist/index.js +17864 -14655
  40. package/dist/index.js.map +1 -1
  41. package/dist/instance/Group.d.ts +10 -4
  42. package/dist/instance/InputControl.d.ts +38 -0
  43. package/dist/instance/ModelValue.d.ts +17 -25
  44. package/dist/instance/Note.d.ts +16 -21
  45. package/dist/instance/PrimaryInstance.d.ts +85 -0
  46. package/dist/instance/RangeControl.d.ts +34 -0
  47. package/dist/instance/RankControl.d.ts +40 -0
  48. package/dist/instance/Root.d.ts +30 -25
  49. package/dist/instance/SelectControl.d.ts +66 -0
  50. package/dist/instance/Subtree.d.ts +11 -5
  51. package/dist/instance/TriggerControl.d.ts +13 -19
  52. package/dist/instance/abstract/DescendantNode.d.ts +32 -25
  53. package/dist/instance/abstract/InstanceNode.d.ts +52 -30
  54. package/dist/instance/abstract/UnsupportedControl.d.ts +11 -3
  55. package/dist/instance/abstract/ValueNode.d.ts +47 -0
  56. package/dist/instance/hierarchy.d.ts +13 -12
  57. package/dist/instance/identity.d.ts +2 -7
  58. package/dist/instance/internal-api/EvaluationContext.d.ts +53 -12
  59. package/dist/instance/internal-api/InstanceConfig.d.ts +8 -2
  60. package/dist/instance/internal-api/InstanceValueContext.d.ts +22 -0
  61. package/dist/instance/internal-api/PrimaryInstanceDocument.d.ts +36 -0
  62. package/dist/instance/internal-api/TranslationContext.d.ts +3 -2
  63. package/dist/instance/internal-api/ValidationContext.d.ts +3 -4
  64. package/dist/instance/internal-api/ValueContext.d.ts +2 -1
  65. package/dist/instance/internal-api/submission/ClientReactiveSubmittableInstance.d.ts +14 -0
  66. package/dist/instance/internal-api/submission/ClientReactiveSubmittableLeafNode.d.ts +32 -0
  67. package/dist/instance/internal-api/submission/ClientReactiveSubmittableParentNode.d.ts +19 -0
  68. package/dist/instance/internal-api/submission/ClientReactiveSubmittableValueNode.d.ts +18 -0
  69. package/dist/instance/repeat/BaseRepeatRange.d.ts +40 -83
  70. package/dist/instance/repeat/RepeatInstance.d.ts +12 -29
  71. package/dist/instance/repeat/RepeatRangeControlled.d.ts +2 -2
  72. package/dist/instance/repeat/RepeatRangeUncontrolled.d.ts +2 -2
  73. package/dist/instance/resource.d.ts +1 -1
  74. package/dist/instance/text/TextRange.d.ts +1 -1
  75. package/dist/instance/unsupported/UploadControl.d.ts +3 -1
  76. package/dist/integration/xpath/EngineXPathEvaluator.d.ts +14 -0
  77. package/dist/integration/xpath/adapter/XFormsXPathNode.d.ts +71 -0
  78. package/dist/integration/xpath/adapter/engineDOMAdapter.d.ts +5 -0
  79. package/dist/integration/xpath/adapter/kind.d.ts +32 -0
  80. package/dist/integration/xpath/adapter/names.d.ts +6 -0
  81. package/dist/integration/xpath/adapter/traversal.d.ts +26 -0
  82. package/dist/integration/xpath/adapter/values.d.ts +2 -0
  83. package/dist/integration/xpath/static-dom/StaticAttribute.d.ts +26 -0
  84. package/dist/integration/xpath/static-dom/StaticDocument.d.ts +15 -0
  85. package/dist/integration/xpath/static-dom/StaticElement.d.ts +48 -0
  86. package/dist/integration/xpath/static-dom/StaticNode.d.ts +33 -0
  87. package/dist/integration/xpath/static-dom/StaticText.d.ts +16 -0
  88. package/dist/lib/client-reactivity/submission/createInstanceSubmissionState.d.ts +3 -0
  89. package/dist/lib/client-reactivity/submission/createLeafNodeSubmissionState.d.ts +3 -0
  90. package/dist/lib/client-reactivity/submission/createNodeRangeSubmissionState.d.ts +4 -0
  91. package/dist/lib/client-reactivity/submission/createParentNodeSubmissionState.d.ts +4 -0
  92. package/dist/lib/client-reactivity/submission/createRootSubmissionState.d.ts +3 -0
  93. package/dist/lib/client-reactivity/submission/createValueNodeSubmissionState.d.ts +3 -0
  94. package/dist/lib/client-reactivity/submission/prepareSubmission.d.ts +8 -0
  95. package/dist/lib/codecs/DecimalValueCodec.d.ts +6 -0
  96. package/dist/lib/codecs/Geopoint/Geopoint.d.ts +48 -0
  97. package/dist/lib/codecs/Geopoint/GeopointValueCodec.d.ts +5 -0
  98. package/dist/lib/codecs/IntValueCodec.d.ts +6 -0
  99. package/dist/lib/codecs/NoteCodec.d.ts +8 -0
  100. package/dist/lib/codecs/RangeCodec.d.ts +8 -0
  101. package/dist/lib/codecs/StringValueCodec.d.ts +4 -0
  102. package/dist/lib/codecs/TriggerCodec.d.ts +7 -0
  103. package/dist/lib/codecs/ValueArrayCodec.d.ts +11 -0
  104. package/dist/lib/codecs/ValueCodec.d.ts +30 -0
  105. package/dist/lib/codecs/ValueTypePlaceholderCodec.d.ts +12 -0
  106. package/dist/lib/codecs/getNoteCodec.d.ts +3 -0
  107. package/dist/lib/codecs/getSelectCodec.d.ts +5 -0
  108. package/dist/lib/codecs/getSharedValueCodec.d.ts +48 -0
  109. package/dist/lib/codecs/items/BaseItemCodec.d.ts +9 -0
  110. package/dist/lib/codecs/items/MultipleValueItemCodec.d.ts +14 -0
  111. package/dist/lib/codecs/items/SingleValueItemCodec.d.ts +24 -0
  112. package/dist/lib/dom/query.d.ts +4 -2
  113. package/dist/lib/names/NamespaceDeclaration.d.ts +45 -0
  114. package/dist/lib/names/NamespaceDeclarationMap.d.ts +137 -0
  115. package/dist/lib/names/NamespaceURL.d.ts +30 -0
  116. package/dist/lib/names/QualifiedName.d.ts +113 -0
  117. package/dist/lib/number-parsers.d.ts +2 -0
  118. package/dist/lib/reactivity/createChildrenState.d.ts +7 -5
  119. package/dist/lib/reactivity/createComputedExpression.d.ts +18 -5
  120. package/dist/lib/reactivity/createInstanceValueState.d.ts +40 -0
  121. package/dist/lib/reactivity/createItemCollection.d.ts +21 -0
  122. package/dist/lib/reactivity/createNoteReadonlyThunk.d.ts +2 -2
  123. package/dist/lib/reactivity/createTranslationState.d.ts +19 -0
  124. package/dist/lib/reactivity/createValueState.d.ts +6 -10
  125. package/dist/lib/reactivity/materializeCurrentStateChildren.d.ts +4 -4
  126. package/dist/lib/xml-serialization.d.ts +50 -0
  127. package/dist/parse/XFormDOM.d.ts +18 -7
  128. package/dist/parse/XFormDefinition.d.ts +1 -2
  129. package/dist/parse/attachments/FormAttachmentResource.d.ts +27 -0
  130. package/dist/parse/body/BodyDefinition.d.ts +4 -4
  131. package/dist/parse/body/RepeatElementDefinition.d.ts +1 -1
  132. package/dist/parse/body/appearance/inputAppearanceParser.d.ts +1 -1
  133. package/dist/parse/body/appearance/rangeAppearanceParser.d.ts +3 -0
  134. package/dist/parse/body/control/{InputDefinition.d.ts → InputControlDefinition.d.ts} +4 -1
  135. package/dist/parse/body/control/ItemDefinition.d.ts +14 -0
  136. package/dist/parse/body/control/ItemsetDefinition.d.ts +18 -0
  137. package/dist/parse/body/control/RangeControlDefinition.d.ts +31 -2
  138. package/dist/parse/body/control/RankControlDefinition.d.ts +7 -3
  139. package/dist/parse/body/control/{select/SelectDefinition.d.ts → SelectControlDefinition.d.ts} +9 -9
  140. package/dist/parse/expression/ItemsetNodesetExpression.d.ts +1 -1
  141. package/dist/parse/expression/ItemsetValueExpression.d.ts +1 -1
  142. package/dist/parse/expression/abstract/DependencyContext.d.ts +0 -5
  143. package/dist/parse/expression/abstract/DependentExpression.d.ts +2 -3
  144. package/dist/parse/model/BindDefinition.d.ts +6 -5
  145. package/dist/parse/model/BindPreloadDefinition.d.ts +42 -0
  146. package/dist/parse/model/BindTypeDefinition.d.ts +20 -0
  147. package/dist/parse/model/DescendentNodeDefinition.d.ts +4 -14
  148. package/dist/parse/model/FormSubmissionDefinition.d.ts +8 -0
  149. package/dist/parse/model/ItextTranslation/ItextTranslationDefinition.d.ts +4 -0
  150. package/dist/parse/model/ItextTranslation/ItextTranslationRootDefinition.d.ts +9 -0
  151. package/dist/parse/model/ItextTranslation/ItextTranslationsDefinition.d.ts +8 -0
  152. package/dist/parse/model/LeafNodeDefinition.d.ts +9 -4
  153. package/dist/parse/model/ModelBindMap.d.ts +1 -1
  154. package/dist/parse/model/ModelDefinition.d.ts +2 -0
  155. package/dist/parse/model/NodeDefinition.d.ts +16 -20
  156. package/dist/parse/model/NoteNodeDefinition.d.ts +9 -8
  157. package/dist/parse/model/RangeNodeDefinition.d.ts +41 -0
  158. package/dist/parse/model/RepeatInstanceDefinition.d.ts +7 -4
  159. package/dist/parse/model/RepeatRangeDefinition.d.ts +7 -4
  160. package/dist/parse/model/RepeatTemplateDefinition.d.ts +7 -4
  161. package/dist/parse/model/RootAttributeDefinition.d.ts +24 -0
  162. package/dist/parse/model/RootAttributeMap.d.ts +23 -0
  163. package/dist/parse/model/RootDefinition.d.ts +12 -9
  164. package/dist/parse/model/SecondaryInstance/SecondaryInstanceDefinition.d.ts +4 -0
  165. package/dist/parse/model/SecondaryInstance/SecondaryInstanceRootDefinition.d.ts +7 -0
  166. package/dist/parse/model/SecondaryInstance/SecondaryInstancesDefinition.d.ts +13 -0
  167. package/dist/parse/model/SecondaryInstance/sources/BlankSecondaryInstanceSource.d.ts +14 -0
  168. package/dist/parse/model/SecondaryInstance/sources/CSVExternalSecondaryInstance.d.ts +22 -0
  169. package/dist/parse/model/SecondaryInstance/sources/ExternalSecondaryInstanceResource.d.ts +23 -0
  170. package/dist/parse/model/SecondaryInstance/sources/ExternalSecondaryInstanceSource.d.ts +9 -0
  171. package/dist/parse/model/SecondaryInstance/sources/GeoJSONExternalSecondaryInstance.d.ts +5 -0
  172. package/dist/parse/model/SecondaryInstance/sources/InternalSecondaryInstanceSource.d.ts +7 -0
  173. package/dist/parse/model/SecondaryInstance/sources/SecondaryInstanceSource.d.ts +13 -0
  174. package/dist/parse/model/SecondaryInstance/sources/XMLExternalSecondaryInstanceSource.d.ts +12 -0
  175. package/dist/parse/model/SubtreeDefinition.d.ts +7 -4
  176. package/dist/parse/shared/parseStaticDocumentFromDOMSubtree.d.ts +23 -0
  177. package/dist/parse/text/ItemLabelDefinition.d.ts +1 -1
  178. package/dist/parse/text/ItemsetLabelDefinition.d.ts +2 -2
  179. package/dist/parse/text/abstract/TextElementDefinition.d.ts +1 -1
  180. package/dist/parse/text/abstract/TextRangeDefinition.d.ts +0 -2
  181. package/dist/parse/xpath/semantic-analysis.d.ts +6 -3
  182. package/dist/solid.js +15437 -12246
  183. package/dist/solid.js.map +1 -1
  184. package/package.json +18 -13
  185. package/src/client/BaseNode.ts +21 -6
  186. package/src/client/BaseValueNode.ts +35 -0
  187. package/src/client/EngineConfig.ts +52 -51
  188. package/src/client/GroupNode.ts +1 -0
  189. package/src/client/InputNode.ts +113 -0
  190. package/src/client/ModelValueNode.ts +31 -7
  191. package/src/client/NoteNode.ts +45 -9
  192. package/src/client/RangeNode.ts +51 -0
  193. package/src/client/RankNode.ts +54 -0
  194. package/src/client/RootNode.ts +43 -7
  195. package/src/client/SelectNode.ts +53 -26
  196. package/src/client/SubtreeNode.ts +1 -0
  197. package/src/client/TriggerNode.ts +12 -6
  198. package/src/client/ValueType.ts +4 -0
  199. package/src/client/constants.ts +67 -0
  200. package/src/client/hierarchy.ts +12 -13
  201. package/src/client/identity.ts +16 -0
  202. package/src/client/node-types.ts +13 -7
  203. package/src/client/resources.ts +118 -0
  204. package/src/client/submission/SubmissionData.ts +12 -0
  205. package/src/client/submission/SubmissionDefinition.ts +16 -0
  206. package/src/client/submission/SubmissionInstanceFile.ts +9 -0
  207. package/src/client/submission/SubmissionOptions.ts +28 -0
  208. package/src/client/submission/SubmissionResult.ts +124 -0
  209. package/src/client/submission/SubmissionState.ts +14 -0
  210. package/src/client/unsupported/UnsupportedControlNode.ts +2 -6
  211. package/src/client/validation.ts +2 -2
  212. package/src/error/ErrorProductionDesignPendingError.ts +6 -0
  213. package/src/error/RankMissingValueError.ts +5 -0
  214. package/src/error/RankValueTypeError.ts +13 -0
  215. package/src/error/SelectValueTypeError.ts +22 -0
  216. package/src/error/ValueTypeInvariantError.ts +22 -0
  217. package/src/error/XFormsSpecViolationError.ts +1 -0
  218. package/src/error/XPathFunctionalityError.ts +26 -0
  219. package/src/error/XPathFunctionalityNotSupportedError.ts +18 -0
  220. package/src/error/XPathFunctionalityPendingError.ts +18 -0
  221. package/src/index.ts +12 -13
  222. package/src/instance/Group.ts +18 -5
  223. package/src/instance/InputControl.ts +159 -0
  224. package/src/instance/ModelValue.ts +48 -53
  225. package/src/instance/Note.ts +40 -49
  226. package/src/instance/PrimaryInstance.ts +245 -0
  227. package/src/instance/RangeControl.ts +113 -0
  228. package/src/instance/RankControl.ts +199 -0
  229. package/src/instance/Root.ts +63 -134
  230. package/src/instance/SelectControl.ts +219 -0
  231. package/src/instance/Subtree.ts +20 -7
  232. package/src/instance/TriggerControl.ts +44 -66
  233. package/src/instance/abstract/DescendantNode.ts +91 -51
  234. package/src/instance/abstract/InstanceNode.ts +113 -107
  235. package/src/instance/abstract/UnsupportedControl.ts +29 -5
  236. package/src/instance/abstract/ValueNode.ts +128 -0
  237. package/src/instance/children.ts +80 -40
  238. package/src/instance/hierarchy.ts +39 -30
  239. package/src/instance/identity.ts +3 -9
  240. package/src/instance/index.ts +25 -7
  241. package/src/instance/internal-api/EvaluationContext.ts +60 -13
  242. package/src/instance/internal-api/InstanceConfig.ts +9 -2
  243. package/src/instance/internal-api/InstanceValueContext.ts +26 -0
  244. package/src/instance/internal-api/PrimaryInstanceDocument.ts +53 -0
  245. package/src/instance/internal-api/TranslationContext.ts +3 -2
  246. package/src/instance/internal-api/ValidationContext.ts +3 -4
  247. package/src/instance/internal-api/ValueContext.ts +2 -1
  248. package/src/instance/internal-api/submission/ClientReactiveSubmittableInstance.ts +20 -0
  249. package/src/instance/internal-api/submission/ClientReactiveSubmittableLeafNode.ts +43 -0
  250. package/src/instance/internal-api/submission/ClientReactiveSubmittableParentNode.ts +26 -0
  251. package/src/instance/internal-api/submission/ClientReactiveSubmittableValueNode.ts +24 -0
  252. package/src/instance/repeat/BaseRepeatRange.ts +52 -131
  253. package/src/instance/repeat/RepeatInstance.ts +21 -46
  254. package/src/instance/repeat/RepeatRangeControlled.ts +5 -5
  255. package/src/instance/repeat/RepeatRangeUncontrolled.ts +2 -4
  256. package/src/instance/resource.ts +5 -2
  257. package/src/instance/text/TextChunk.ts +1 -1
  258. package/src/instance/unsupported/UploadControl.ts +5 -1
  259. package/src/integration/xpath/EngineXPathEvaluator.ts +22 -0
  260. package/src/integration/xpath/adapter/XFormsXPathNode.ts +126 -0
  261. package/src/integration/xpath/adapter/engineDOMAdapter.ts +57 -0
  262. package/src/integration/xpath/adapter/kind.ts +114 -0
  263. package/src/integration/xpath/adapter/names.ts +148 -0
  264. package/src/integration/xpath/adapter/traversal.ts +229 -0
  265. package/src/integration/xpath/adapter/values.ts +5 -0
  266. package/src/integration/xpath/static-dom/StaticAttribute.ts +41 -0
  267. package/src/integration/xpath/static-dom/StaticDocument.ts +36 -0
  268. package/src/integration/xpath/static-dom/StaticElement.ts +119 -0
  269. package/src/integration/xpath/static-dom/StaticNode.ts +68 -0
  270. package/src/integration/xpath/static-dom/StaticText.ts +28 -0
  271. package/src/lib/client-reactivity/README.md +0 -0
  272. package/src/lib/client-reactivity/submission/createInstanceSubmissionState.ts +12 -0
  273. package/src/lib/client-reactivity/submission/createLeafNodeSubmissionState.ts +20 -0
  274. package/src/lib/client-reactivity/submission/createNodeRangeSubmissionState.ts +17 -0
  275. package/src/lib/client-reactivity/submission/createParentNodeSubmissionState.ts +22 -0
  276. package/src/lib/client-reactivity/submission/createRootSubmissionState.ts +19 -0
  277. package/src/lib/client-reactivity/submission/createValueNodeSubmissionState.ts +21 -0
  278. package/src/lib/client-reactivity/submission/prepareSubmission.ts +172 -0
  279. package/src/lib/codecs/DecimalValueCodec.ts +46 -0
  280. package/src/lib/codecs/Geopoint/Geopoint.ts +150 -0
  281. package/src/lib/codecs/Geopoint/GeopointValueCodec.ts +20 -0
  282. package/src/lib/codecs/IntValueCodec.ts +100 -0
  283. package/src/lib/codecs/NoteCodec.ts +32 -0
  284. package/src/lib/codecs/RangeCodec.ts +65 -0
  285. package/src/lib/codecs/StringValueCodec.ts +11 -0
  286. package/src/lib/codecs/TriggerCodec.ts +64 -0
  287. package/src/lib/codecs/ValueArrayCodec.ts +42 -0
  288. package/src/lib/codecs/ValueCodec.ts +106 -0
  289. package/src/lib/codecs/ValueTypePlaceholderCodec.ts +19 -0
  290. package/src/lib/codecs/getNoteCodec.ts +27 -0
  291. package/src/lib/codecs/getSelectCodec.ts +27 -0
  292. package/src/lib/codecs/getSharedValueCodec.ts +79 -0
  293. package/src/lib/codecs/items/BaseItemCodec.ts +20 -0
  294. package/src/lib/codecs/items/MultipleValueItemCodec.ts +28 -0
  295. package/src/lib/codecs/items/SingleValueItemCodec.ts +67 -0
  296. package/src/lib/dom/query.ts +8 -2
  297. package/src/lib/names/NamespaceDeclaration.ts +106 -0
  298. package/src/lib/names/NamespaceDeclarationMap.ts +228 -0
  299. package/src/lib/names/NamespaceURL.ts +44 -0
  300. package/src/lib/names/QualifiedName.ts +170 -0
  301. package/src/lib/number-parsers.ts +25 -0
  302. package/src/lib/reactivity/createChildrenState.ts +8 -6
  303. package/src/lib/reactivity/createComputedExpression.ts +57 -34
  304. package/src/lib/reactivity/createInstanceValueState.ts +216 -0
  305. package/src/lib/reactivity/createItemCollection.ts +173 -0
  306. package/src/lib/reactivity/createNoteReadonlyThunk.ts +12 -7
  307. package/src/lib/reactivity/createTranslationState.ts +61 -0
  308. package/src/lib/reactivity/createValueState.ts +62 -120
  309. package/src/lib/reactivity/materializeCurrentStateChildren.ts +7 -7
  310. package/src/lib/reactivity/text/createTextRange.ts +4 -3
  311. package/src/lib/reactivity/validation/createAggregatedViolations.ts +1 -1
  312. package/src/lib/reactivity/validation/createValidation.ts +2 -3
  313. package/src/lib/xml-serialization.ts +163 -0
  314. package/src/parse/XFormDOM.ts +231 -76
  315. package/src/parse/XFormDefinition.ts +2 -10
  316. package/src/parse/attachments/FormAttachmentResource.ts +40 -0
  317. package/src/parse/body/BodyDefinition.ts +7 -7
  318. package/src/parse/body/appearance/inputAppearanceParser.ts +1 -1
  319. package/src/parse/body/appearance/rangeAppearanceParser.ts +11 -0
  320. package/src/parse/body/control/InputControlDefinition.ts +29 -0
  321. package/src/parse/body/control/{select/ItemDefinition.ts → ItemDefinition.ts} +8 -6
  322. package/src/parse/body/control/{select/ItemsetDefinition.ts → ItemsetDefinition.ts} +11 -9
  323. package/src/parse/body/control/RangeControlDefinition.ts +91 -6
  324. package/src/parse/body/control/RankControlDefinition.ts +25 -7
  325. package/src/parse/body/control/{select/SelectDefinition.ts → SelectControlDefinition.ts} +9 -9
  326. package/src/parse/expression/ItemsetNodesetExpression.ts +1 -1
  327. package/src/parse/expression/ItemsetValueExpression.ts +1 -1
  328. package/src/parse/expression/abstract/DependencyContext.ts +0 -26
  329. package/src/parse/expression/abstract/DependentExpression.ts +2 -13
  330. package/src/parse/model/BindDefinition.ts +9 -8
  331. package/src/parse/model/BindPreloadDefinition.ts +100 -0
  332. package/src/parse/model/BindTypeDefinition.ts +175 -0
  333. package/src/parse/model/DescendentNodeDefinition.ts +7 -31
  334. package/src/parse/model/FormSubmissionDefinition.ts +44 -0
  335. package/src/parse/model/ItextTranslation/ItextTranslationDefinition.ts +4 -0
  336. package/src/parse/model/ItextTranslation/ItextTranslationRootDefinition.ts +42 -0
  337. package/src/parse/model/ItextTranslation/ItextTranslationsDefinition.ts +31 -0
  338. package/src/parse/model/LeafNodeDefinition.ts +15 -5
  339. package/src/parse/model/ModelBindMap.ts +6 -8
  340. package/src/parse/model/ModelDefinition.ts +6 -1
  341. package/src/parse/model/NodeDefinition.ts +24 -48
  342. package/src/parse/model/NoteNodeDefinition.ts +11 -10
  343. package/src/parse/model/RangeNodeDefinition.ts +118 -0
  344. package/src/parse/model/RepeatInstanceDefinition.ts +11 -7
  345. package/src/parse/model/RepeatRangeDefinition.ts +11 -7
  346. package/src/parse/model/RepeatTemplateDefinition.ts +11 -7
  347. package/src/parse/model/RootAttributeDefinition.ts +45 -0
  348. package/src/parse/model/RootAttributeMap.ts +44 -0
  349. package/src/parse/model/RootDefinition.ts +31 -29
  350. package/src/parse/model/SecondaryInstance/SecondaryInstanceDefinition.ts +4 -0
  351. package/src/parse/model/SecondaryInstance/SecondaryInstanceRootDefinition.ts +12 -0
  352. package/src/parse/model/SecondaryInstance/SecondaryInstancesDefinition.ts +102 -0
  353. package/src/parse/model/SecondaryInstance/sources/BlankSecondaryInstanceSource.ts +40 -0
  354. package/src/parse/model/SecondaryInstance/sources/CSVExternalSecondaryInstance.ts +288 -0
  355. package/src/parse/model/SecondaryInstance/sources/ExternalSecondaryInstanceResource.ts +222 -0
  356. package/src/parse/model/SecondaryInstance/sources/ExternalSecondaryInstanceSource.ts +22 -0
  357. package/src/parse/model/SecondaryInstance/sources/GeoJSONExternalSecondaryInstance.ts +415 -0
  358. package/src/parse/model/SecondaryInstance/sources/InternalSecondaryInstanceSource.ts +19 -0
  359. package/src/parse/model/SecondaryInstance/sources/SecondaryInstanceSource.ts +29 -0
  360. package/src/parse/model/SecondaryInstance/sources/XMLExternalSecondaryInstanceSource.ts +32 -0
  361. package/src/parse/model/SubtreeDefinition.ts +12 -12
  362. package/src/parse/shared/parseStaticDocumentFromDOMSubtree.ts +149 -0
  363. package/src/parse/text/ItemLabelDefinition.ts +1 -1
  364. package/src/parse/text/ItemsetLabelDefinition.ts +2 -2
  365. package/src/parse/text/abstract/TextElementDefinition.ts +1 -1
  366. package/src/parse/text/abstract/TextRangeDefinition.ts +0 -6
  367. package/src/parse/xpath/semantic-analysis.ts +33 -3
  368. package/dist/client/StringNode.d.ts +0 -46
  369. package/dist/client/unsupported/RangeNode.d.ts +0 -9
  370. package/dist/client/unsupported/RankNode.d.ts +0 -9
  371. package/dist/instance/SelectField.d.ts +0 -50
  372. package/dist/instance/StringField.d.ts +0 -44
  373. package/dist/instance/internal-api/SubscribableDependency.d.ts +0 -59
  374. package/dist/instance/unsupported/RangeControl.d.ts +0 -4
  375. package/dist/instance/unsupported/RankControl.d.ts +0 -4
  376. package/dist/lib/reactivity/createSelectItems.d.ts +0 -16
  377. package/dist/parse/XFormDataType.d.ts +0 -25
  378. package/dist/parse/body/control/select/ItemDefinition.d.ts +0 -13
  379. package/dist/parse/body/control/select/ItemsetDefinition.d.ts +0 -17
  380. package/dist/parse/body/control/select/ItemsetNodesetContext.d.ts +0 -11
  381. package/src/client/StringNode.ts +0 -52
  382. package/src/client/unsupported/RangeNode.ts +0 -14
  383. package/src/client/unsupported/RankNode.ts +0 -14
  384. package/src/instance/SelectField.ts +0 -226
  385. package/src/instance/StringField.ts +0 -120
  386. package/src/instance/internal-api/SubscribableDependency.ts +0 -61
  387. package/src/instance/unsupported/RangeControl.ts +0 -5
  388. package/src/instance/unsupported/RankControl.ts +0 -5
  389. package/src/lib/reactivity/createSelectItems.ts +0 -168
  390. package/src/parse/XFormDataType.ts +0 -62
  391. package/src/parse/body/control/InputDefinition.ts +0 -22
  392. package/src/parse/body/control/select/ItemsetNodesetContext.ts +0 -26
@@ -1,31 +1,37 @@
1
+ import { XPathNodeKindKey } from '@getodk/xpath';
1
2
  import { Accessor } from 'solid-js';
2
3
  import { GroupDefinition, GroupNode, GroupNodeAppearances } from '../client/GroupNode.ts';
4
+ import { FormNodeID } from '../client/identity.ts';
5
+ import { SubmissionState } from '../client/submission/SubmissionState.ts';
3
6
  import { TextRange } from '../client/TextRange.ts';
4
7
  import { AncestorNodeValidationState } from '../client/validation.ts';
8
+ import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
5
9
  import { MaterializedChildren } from '../lib/reactivity/materializeCurrentStateChildren.ts';
6
10
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
7
11
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
8
12
  import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
9
13
  import { DescendantNodeSharedStateSpec, DescendantNode } from './abstract/DescendantNode.ts';
10
14
  import { GeneralChildNode, GeneralParentNode } from './hierarchy.ts';
11
- import { NodeID } from './identity.ts';
12
15
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
13
- import { SubscribableDependency } from './internal-api/SubscribableDependency.ts';
16
+ import { ClientReactiveSubmittableParentNode } from './internal-api/submission/ClientReactiveSubmittableParentNode.ts';
14
17
  interface GroupStateSpec extends DescendantNodeSharedStateSpec {
15
18
  readonly label: Accessor<TextRange<'label'> | null>;
16
19
  readonly hint: null;
17
- readonly children: Accessor<readonly NodeID[]>;
20
+ readonly children: Accessor<readonly FormNodeID[]>;
18
21
  readonly valueOptions: null;
19
22
  readonly value: null;
20
23
  }
21
- export declare class Group extends DescendantNode<GroupDefinition, GroupStateSpec, GeneralChildNode> implements GroupNode, EvaluationContext, SubscribableDependency {
24
+ export declare class Group extends DescendantNode<GroupDefinition, GroupStateSpec, GeneralParentNode, GeneralChildNode> implements GroupNode, XFormsXPathElement, EvaluationContext, ClientReactiveSubmittableParentNode<GeneralChildNode> {
22
25
  private readonly childrenState;
26
+ readonly [XPathNodeKindKey] = "element";
23
27
  protected readonly state: SharedNodeState<GroupStateSpec>;
24
28
  protected engineState: EngineState<GroupStateSpec>;
25
29
  readonly nodeType = "group";
26
30
  readonly appearances: GroupNodeAppearances;
31
+ readonly nodeOptions: null;
27
32
  readonly currentState: MaterializedChildren<CurrentState<GroupStateSpec>, GeneralChildNode>;
28
33
  readonly validationState: AncestorNodeValidationState;
34
+ readonly submissionState: SubmissionState;
29
35
  constructor(parent: GeneralParentNode, definition: GroupDefinition);
30
36
  getChildren(): readonly GeneralChildNode[];
31
37
  }
@@ -0,0 +1,38 @@
1
+ import { XPathNodeKindKey } from '@getodk/xpath';
2
+ import { Accessor } from 'solid-js';
3
+ import { InputDefinition, InputNode, InputNodeAppearances, InputNodeInputValue, InputNodeOptions } from '../client/InputNode.ts';
4
+ import { TextRange } from '../client/TextRange.ts';
5
+ import { ValueType } from '../client/ValueType.ts';
6
+ import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
7
+ import { RuntimeInputValue, RuntimeValue } from '../lib/codecs/getSharedValueCodec.ts';
8
+ import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
9
+ import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
10
+ import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
11
+ import { ValueNode, ValueNodeStateSpec } from './abstract/ValueNode.ts';
12
+ import { GeneralParentNode } from './hierarchy.ts';
13
+ import { EvaluationContext } from './internal-api/EvaluationContext.ts';
14
+ import { ClientReactiveSubmittableValueNode } from './internal-api/submission/ClientReactiveSubmittableValueNode.ts';
15
+ import { ValidationContext } from './internal-api/ValidationContext.ts';
16
+ import { Root } from './Root.ts';
17
+ export type AnyInputDefinition = {
18
+ [V in ValueType]: InputDefinition<V>;
19
+ }[ValueType];
20
+ interface InputControlStateSpec<V extends ValueType> extends ValueNodeStateSpec<RuntimeValue<V>> {
21
+ readonly label: Accessor<TextRange<'label'> | null>;
22
+ readonly hint: Accessor<TextRange<'hint'> | null>;
23
+ readonly valueOptions: null;
24
+ }
25
+ export declare class InputControl<V extends ValueType = ValueType> extends ValueNode<V, InputDefinition<V>, RuntimeValue<V>, RuntimeInputValue<V>> implements InputNode<V>, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSubmittableValueNode {
26
+ static from(parent: GeneralParentNode, definition: InputDefinition): AnyInputControl;
27
+ readonly [XPathNodeKindKey] = "element";
28
+ protected readonly state: SharedNodeState<InputControlStateSpec<V>>;
29
+ protected readonly engineState: EngineState<InputControlStateSpec<V>>;
30
+ readonly nodeType = "input";
31
+ readonly appearances: InputNodeAppearances;
32
+ readonly nodeOptions: InputNodeOptions<V>;
33
+ readonly currentState: CurrentState<InputControlStateSpec<V>>;
34
+ constructor(parent: GeneralParentNode, definition: InputDefinition<V>);
35
+ setValue(value: InputNodeInputValue<V>): Root;
36
+ }
37
+ export type AnyInputControl = InputControl<'barcode'> | InputControl<'binary'> | InputControl<'boolean'> | InputControl<'date'> | InputControl<'dateTime'> | InputControl<'decimal'> | InputControl<'geopoint'> | InputControl<'geoshape'> | InputControl<'geotrace'> | InputControl<'int'> | InputControl<'intent'> | InputControl<'string'> | InputControl<'time'>;
38
+ export {};
@@ -1,39 +1,31 @@
1
- import { ModelValueNode } from '../client/ModelValueNode.ts';
2
- import { AnyViolation, LeafNodeValidationState } from '../client/validation.ts';
1
+ import { XPathNodeKindKey } from '@getodk/xpath';
2
+ import { ModelValueDefinition, ModelValueNode } from '../client/ModelValueNode.ts';
3
+ import { ValueType } from '../client/ValueType.ts';
4
+ import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
5
+ import { RuntimeInputValue, RuntimeValue } from '../lib/codecs/getSharedValueCodec.ts';
3
6
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
4
7
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
5
8
  import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
6
- import { SimpleAtomicState } from '../lib/reactivity/types.ts';
7
- import { LeafNodeDefinition } from '../parse/model/LeafNodeDefinition.ts';
8
- import { DescendantNodeStateSpec, DescendantNode } from './abstract/DescendantNode.ts';
9
+ import { ValueNode, ValueNodeStateSpec } from './abstract/ValueNode.ts';
9
10
  import { GeneralParentNode } from './hierarchy.ts';
10
11
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
11
- import { SubscribableDependency } from './internal-api/SubscribableDependency.ts';
12
12
  import { ValidationContext } from './internal-api/ValidationContext.ts';
13
- import { ValueContext } from './internal-api/ValueContext.ts';
14
- export interface ModelValueDefinition extends LeafNodeDefinition {
15
- readonly bodyElement: null;
16
- }
17
- interface ModelValueStateSpec extends DescendantNodeStateSpec<string> {
13
+ import { ClientReactiveSubmittableValueNode } from './internal-api/submission/ClientReactiveSubmittableValueNode.ts';
14
+ interface ModelValueStateSpec<V extends ValueType> extends ValueNodeStateSpec<RuntimeValue<V>> {
18
15
  readonly label: null;
19
16
  readonly hint: null;
20
- readonly children: null;
21
- readonly value: SimpleAtomicState<string>;
22
17
  readonly valueOptions: null;
23
18
  }
24
- export declare class ModelValue extends DescendantNode<ModelValueDefinition, ModelValueStateSpec, null> implements ModelValueNode, EvaluationContext, SubscribableDependency, ValidationContext, ValueContext<string> {
25
- private readonly validation;
26
- protected readonly state: SharedNodeState<ModelValueStateSpec>;
27
- protected engineState: EngineState<ModelValueStateSpec>;
19
+ export declare class ModelValue<V extends ValueType = ValueType> extends ValueNode<V, ModelValueDefinition<V>, RuntimeValue<V>, RuntimeInputValue<V>> implements ModelValueNode<V>, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSubmittableValueNode {
20
+ static from(parent: GeneralParentNode, definition: ModelValueDefinition): AnyModelValue;
21
+ readonly [XPathNodeKindKey] = "element";
22
+ protected readonly state: SharedNodeState<ModelValueStateSpec<V>>;
23
+ protected readonly engineState: EngineState<ModelValueStateSpec<V>>;
28
24
  readonly nodeType = "model-value";
29
25
  readonly appearances: null;
30
- readonly currentState: CurrentState<ModelValueStateSpec>;
31
- get validationState(): LeafNodeValidationState;
32
- readonly encodeValue: (value: string) => string;
33
- readonly decodeValue: (value: string) => string;
34
- constructor(parent: GeneralParentNode, definition: ModelValueDefinition);
35
- getViolation(): AnyViolation | null;
36
- isBlank(): boolean;
37
- getChildren(): readonly [];
26
+ readonly nodeOptions: null;
27
+ readonly currentState: CurrentState<ModelValueStateSpec<V>>;
28
+ constructor(parent: GeneralParentNode, definition: ModelValueDefinition<V>);
38
29
  }
30
+ export type AnyModelValue = ModelValue<'barcode'> | ModelValue<'binary'> | ModelValue<'boolean'> | ModelValue<'date'> | ModelValue<'dateTime'> | ModelValue<'decimal'> | ModelValue<'geopoint'> | ModelValue<'geoshape'> | ModelValue<'geotrace'> | ModelValue<'int'> | ModelValue<'intent'> | ModelValue<'string'> | ModelValue<'time'>;
39
31
  export {};
@@ -1,41 +1,36 @@
1
+ import { XPathNodeKindKey } from '@getodk/xpath';
1
2
  import { Accessor } from 'solid-js';
2
- import { NoteNode, NoteNodeAppearances } from '../client/NoteNode.ts';
3
+ import { NoteNode, NoteNodeAppearances, NoteValue } from '../client/NoteNode.ts';
3
4
  import { TextRange } from '../client/TextRange.ts';
4
- import { AnyViolation, LeafNodeValidationState } from '../client/validation.ts';
5
+ import { ValueType } from '../client/ValueType.ts';
6
+ import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
7
+ import { NoteInputValue, NoteRuntimeValue } from '../lib/codecs/NoteCodec.ts';
5
8
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
6
9
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
7
10
  import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
8
11
  import { ComputedNoteText } from '../lib/reactivity/text/createNoteText.ts';
9
- import { SimpleAtomicState } from '../lib/reactivity/types.ts';
10
12
  import { NoteNodeDefinition } from '../parse/model/NoteNodeDefinition.ts';
11
- import { DescendantNodeStateSpec, DescendantNode } from './abstract/DescendantNode.ts';
13
+ import { ValueNode, ValueNodeStateSpec } from './abstract/ValueNode.ts';
12
14
  import { GeneralParentNode } from './hierarchy.ts';
13
15
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
14
- import { SubscribableDependency } from './internal-api/SubscribableDependency.ts';
16
+ import { ClientReactiveSubmittableValueNode } from './internal-api/submission/ClientReactiveSubmittableValueNode.ts';
15
17
  import { ValidationContext } from './internal-api/ValidationContext.ts';
16
- import { ValueContext } from './internal-api/ValueContext.ts';
17
- interface NoteStateSpec extends DescendantNodeStateSpec<string> {
18
+ interface NoteStateSpec<V extends ValueType> extends ValueNodeStateSpec<NoteValue<V>> {
18
19
  readonly readonly: Accessor<true>;
19
20
  readonly noteText: ComputedNoteText;
20
21
  readonly label: Accessor<TextRange<'label', 'form'> | null>;
21
22
  readonly hint: Accessor<TextRange<'hint', 'form'> | null>;
22
- readonly children: null;
23
- readonly value: SimpleAtomicState<string>;
24
23
  readonly valueOptions: null;
25
24
  }
26
- export declare class Note extends DescendantNode<NoteNodeDefinition, NoteStateSpec, null> implements NoteNode, EvaluationContext, SubscribableDependency, ValidationContext, ValueContext<string> {
27
- private readonly validation;
28
- protected readonly state: SharedNodeState<NoteStateSpec>;
29
- protected engineState: EngineState<NoteStateSpec>;
25
+ export declare class Note<V extends ValueType = ValueType> extends ValueNode<V, NoteNodeDefinition<V>, NoteRuntimeValue<V>, NoteInputValue<V>> implements NoteNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSubmittableValueNode {
26
+ readonly [XPathNodeKindKey] = "element";
27
+ protected readonly state: SharedNodeState<NoteStateSpec<V>>;
28
+ protected readonly engineState: EngineState<NoteStateSpec<V>>;
30
29
  readonly nodeType = "note";
31
30
  readonly appearances: NoteNodeAppearances;
32
- readonly currentState: CurrentState<NoteStateSpec>;
33
- get validationState(): LeafNodeValidationState;
34
- readonly encodeValue: (value: string) => string;
35
- readonly decodeValue: (value: string) => string;
36
- constructor(parent: GeneralParentNode, definition: NoteNodeDefinition);
37
- getViolation(): AnyViolation | null;
38
- isBlank(): boolean;
39
- getChildren(): readonly [];
31
+ readonly nodeOptions: null;
32
+ readonly currentState: CurrentState<NoteStateSpec<V>>;
33
+ constructor(parent: GeneralParentNode, definition: NoteNodeDefinition<V>);
40
34
  }
35
+ export type AnyNote = Note<'barcode'> | Note<'binary'> | Note<'boolean'> | Note<'date'> | Note<'dateTime'> | Note<'decimal'> | Note<'geopoint'> | Note<'geoshape'> | Note<'geotrace'> | Note<'int'> | Note<'intent'> | Note<'string'> | Note<'time'>;
41
36
  export {};
@@ -0,0 +1,85 @@
1
+ import { XPathNodeKindKey } from '@getodk/xpath';
2
+ import { Accessor } from 'solid-js';
3
+ import { ActiveLanguage, FormLanguage, FormLanguages } from '../client/FormLanguage.ts';
4
+ import { FormNodeID } from '../client/identity.ts';
5
+ import { SubmissionChunkedType, SubmissionOptions } from '../client/submission/SubmissionOptions.ts';
6
+ import { SubmissionResult } from '../client/submission/SubmissionResult.ts';
7
+ import { SubmissionState } from '../client/submission/SubmissionState.ts';
8
+ import { AncestorNodeValidationState } from '../client/validation.ts';
9
+ import { XFormsXPathDocument } from '../integration/xpath/adapter/XFormsXPathNode.ts';
10
+ import { EngineXPathEvaluator } from '../integration/xpath/EngineXPathEvaluator.ts';
11
+ import { MaterializedChildren } from '../lib/reactivity/materializeCurrentStateChildren.ts';
12
+ import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
13
+ import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
14
+ import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
15
+ import { ReactiveScope } from '../lib/reactivity/scope.ts';
16
+ import { BodyClassList } from '../parse/body/BodyDefinition.ts';
17
+ import { ModelDefinition } from '../parse/model/ModelDefinition.ts';
18
+ import { RootDefinition } from '../parse/model/RootDefinition.ts';
19
+ import { SecondaryInstancesDefinition } from '../parse/model/SecondaryInstance/SecondaryInstancesDefinition.ts';
20
+ import { InstanceNode } from './abstract/InstanceNode.ts';
21
+ import { EvaluationContext } from './internal-api/EvaluationContext.ts';
22
+ import { InstanceConfig } from './internal-api/InstanceConfig.ts';
23
+ import { PrimaryInstanceDocument } from './internal-api/PrimaryInstanceDocument.ts';
24
+ import { ClientReactiveSubmittableInstance } from './internal-api/submission/ClientReactiveSubmittableInstance.ts';
25
+ import { TranslationContext } from './internal-api/TranslationContext.ts';
26
+ import { Root } from './Root.ts';
27
+ interface PrimaryInstanceStateSpec {
28
+ readonly reference: string;
29
+ readonly readonly: boolean;
30
+ readonly relevant: boolean;
31
+ readonly required: boolean;
32
+ readonly label: null;
33
+ readonly hint: null;
34
+ readonly children: Accessor<readonly FormNodeID[]>;
35
+ readonly valueOptions: null;
36
+ readonly value: null;
37
+ readonly activeLanguage: Accessor<ActiveLanguage>;
38
+ }
39
+ export declare class PrimaryInstance extends InstanceNode<RootDefinition, PrimaryInstanceStateSpec, null, Root> implements PrimaryInstanceDocument, XFormsXPathDocument, TranslationContext, EvaluationContext, ClientReactiveSubmittableInstance {
40
+ protected readonly state: SharedNodeState<PrimaryInstanceStateSpec>;
41
+ protected readonly engineState: EngineState<PrimaryInstanceStateSpec>;
42
+ readonly getChildren: Accessor<readonly Root[]>;
43
+ readonly hasReadonlyAncestor: () => boolean;
44
+ readonly isReadonly: () => boolean;
45
+ readonly hasNonRelevantAncestor: () => boolean;
46
+ readonly isRelevant: () => boolean;
47
+ private readonly setActiveLanguage;
48
+ readonly [XPathNodeKindKey] = "document";
49
+ readonly nodeType = "primary-instance";
50
+ readonly appearances: null;
51
+ readonly nodeOptions: null;
52
+ readonly classes: BodyClassList;
53
+ readonly root: Root;
54
+ readonly currentState: MaterializedChildren<CurrentState<PrimaryInstanceStateSpec>, Root>;
55
+ readonly validationState: AncestorNodeValidationState;
56
+ readonly submissionState: SubmissionState;
57
+ readonly languages: FormLanguages;
58
+ readonly getActiveLanguage: Accessor<ActiveLanguage>;
59
+ readonly isAttached: Accessor<boolean>;
60
+ readonly evaluator: EngineXPathEvaluator;
61
+ readonly contextNode: this;
62
+ constructor(scope: ReactiveScope, model: ModelDefinition, secondaryInstances: SecondaryInstancesDefinition, engineConfig: InstanceConfig);
63
+ /**
64
+ * @todo Note that this method's signature is intentionally derived from
65
+ * {@link RootNode.setLanguage}, but its return type differs! The design
66
+ * intent of returning {@link RootNode} from all of the client-facing state
67
+ * setter methods has proven… interesting philosophically. But nothing
68
+ * downstream has availed itself of that philosophy, and otherwise it's not
69
+ * particularly pragmatic or ergonomic (internally or for clients alike).
70
+ *
71
+ * Since this class is (currently) engine-internal, this seems like an
72
+ * excellent place to start a discussion around what we want longer term for
73
+ * state setter signatures in _client-facing_ APIs. As a first pass, it seems
74
+ * reasonable to borrow the idiomatic convention of returning the effective
75
+ * value assigned by the setter.
76
+ *
77
+ * @see
78
+ * {@link https://github.com/getodk/web-forms/issues/45#issuecomment-1967932261 | Initial read interface design between engine and UI - design summary comment}
79
+ * (and some of the comments leading up to it) for background on the
80
+ * philosophical reasoning behind the existing signature convention.
81
+ */
82
+ setLanguage(language: FormLanguage): FormLanguage;
83
+ prepareSubmission<ChunkedType extends SubmissionChunkedType = 'monolithic'>(options?: SubmissionOptions<ChunkedType>): Promise<SubmissionResult<ChunkedType>>;
84
+ }
85
+ export {};
@@ -0,0 +1,34 @@
1
+ import { XPathNodeKindKey } from '@getodk/xpath';
2
+ import { Accessor } from 'solid-js';
3
+ import { RangeInputValue, RangeNode, RangeNodeAppearances, RangeValue } from '../client/RangeNode.ts';
4
+ import { TextRange } from '../client/TextRange.ts';
5
+ import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
6
+ import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
7
+ import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
8
+ import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
9
+ import { AnyRangeNodeDefinition, RangeNodeDefinition, RangeValueType } from '../parse/model/RangeNodeDefinition.ts';
10
+ import { Root } from './Root.ts';
11
+ import { ValueNode, ValueNodeStateSpec } from './abstract/ValueNode.ts';
12
+ import { GeneralParentNode } from './hierarchy.ts';
13
+ import { EvaluationContext } from './internal-api/EvaluationContext.ts';
14
+ import { ValidationContext } from './internal-api/ValidationContext.ts';
15
+ import { ClientReactiveSubmittableValueNode } from './internal-api/submission/ClientReactiveSubmittableValueNode.ts';
16
+ interface RangeControlStateSpec<V extends RangeValueType> extends ValueNodeStateSpec<RangeValue<V>> {
17
+ readonly label: Accessor<TextRange<'label'> | null>;
18
+ readonly hint: Accessor<TextRange<'hint'> | null>;
19
+ readonly valueOptions: null;
20
+ }
21
+ export declare class RangeControl<V extends RangeValueType = RangeValueType> extends ValueNode<V, RangeNodeDefinition<V>, RangeValue<V>, RangeInputValue<V>> implements RangeNode<V>, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSubmittableValueNode {
22
+ static from(parent: GeneralParentNode, definition: AnyRangeNodeDefinition): AnyRangeControl;
23
+ readonly [XPathNodeKindKey] = "element";
24
+ protected readonly state: SharedNodeState<RangeControlStateSpec<V>>;
25
+ protected readonly engineState: EngineState<RangeControlStateSpec<V>>;
26
+ readonly nodeType = "range";
27
+ readonly appearances: RangeNodeAppearances;
28
+ readonly nodeOptions: null;
29
+ readonly currentState: CurrentState<RangeControlStateSpec<V>>;
30
+ constructor(parent: GeneralParentNode, definition: RangeNodeDefinition<V>);
31
+ setValue(value: RangeInputValue<V>): Root;
32
+ }
33
+ export type AnyRangeControl = RangeControl<'decimal'> | RangeControl<'int'>;
34
+ export {};
@@ -0,0 +1,40 @@
1
+ import { XPathNodeKindKey } from '@getodk/xpath';
2
+ import { Accessor } from 'solid-js';
3
+ import { RankDefinition, RankNode, RankValueOptions } from '../client/RankNode.ts';
4
+ import { TextRange } from '../client/TextRange.ts';
5
+ import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
6
+ import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
7
+ import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
8
+ import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
9
+ import { Root } from './Root.ts';
10
+ import { ValueNodeStateSpec, ValueNode } from './abstract/ValueNode.ts';
11
+ import { GeneralParentNode } from './hierarchy.ts';
12
+ import { EvaluationContext } from './internal-api/EvaluationContext.ts';
13
+ import { ValidationContext } from './internal-api/ValidationContext.ts';
14
+ import { ClientReactiveSubmittableValueNode } from './internal-api/submission/ClientReactiveSubmittableValueNode.ts';
15
+ import { UnknownAppearanceDefinition } from '../parse/body/appearance/unknownAppearanceParser.ts';
16
+ import { ValueType } from '../client/ValueType.ts';
17
+ export type AnyRankDefinition = {
18
+ [V in ValueType]: RankDefinition<V>;
19
+ }[ValueType];
20
+ interface RankControlStateSpec extends ValueNodeStateSpec<readonly string[]> {
21
+ readonly label: Accessor<TextRange<'label'> | null>;
22
+ readonly hint: Accessor<TextRange<'hint'> | null>;
23
+ readonly valueOptions: Accessor<RankValueOptions>;
24
+ }
25
+ export declare class RankControl extends ValueNode<'string', RankDefinition<'string'>, readonly string[], readonly string[]> implements RankNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSubmittableValueNode {
26
+ static from(parent: GeneralParentNode, definition: RankDefinition): RankControl;
27
+ private readonly mapOptionsByValue;
28
+ protected readonly getInstanceValue: Accessor<string>;
29
+ readonly [XPathNodeKindKey] = "element";
30
+ protected readonly state: SharedNodeState<RankControlStateSpec>;
31
+ protected readonly engineState: EngineState<RankControlStateSpec>;
32
+ readonly nodeType = "rank";
33
+ readonly appearances: UnknownAppearanceDefinition;
34
+ readonly nodeOptions: null;
35
+ readonly currentState: CurrentState<RankControlStateSpec>;
36
+ private constructor();
37
+ getValueLabel(value: string): TextRange<'item-label'> | null;
38
+ setValues(valuesInOrder: readonly string[]): Root;
39
+ }
40
+ export {};
@@ -1,57 +1,62 @@
1
- import { XFormsXPathEvaluator } from '@getodk/xpath';
2
- import { Accessor, Signal } from 'solid-js';
1
+ import { XPathNodeKindKey } from '@getodk/xpath';
2
+ import { Accessor } from 'solid-js';
3
3
  import { ActiveLanguage, FormLanguage, FormLanguages } from '../client/FormLanguage.ts';
4
+ import { FormNodeID } from '../client/identity.ts';
4
5
  import { RootNode } from '../client/RootNode.ts';
6
+ import { SubmissionDefinition } from '../client/submission/SubmissionDefinition.ts';
7
+ import { SubmissionChunkedType, SubmissionOptions } from '../client/submission/SubmissionOptions.ts';
8
+ import { SubmissionResult } from '../client/submission/SubmissionResult.ts';
9
+ import { SubmissionState } from '../client/submission/SubmissionState.ts';
5
10
  import { AncestorNodeValidationState } from '../client/validation.ts';
11
+ import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
6
12
  import { MaterializedChildren } from '../lib/reactivity/materializeCurrentStateChildren.ts';
7
13
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
8
14
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
9
15
  import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
10
16
  import { BodyClassList } from '../parse/body/BodyDefinition.ts';
11
17
  import { RootDefinition } from '../parse/model/RootDefinition.ts';
12
- import { XFormDOM } from '../parse/XFormDOM.ts';
13
- import { InstanceNode } from './abstract/InstanceNode.ts';
18
+ import { DescendantNode } from './abstract/DescendantNode.ts';
14
19
  import { GeneralChildNode } from './hierarchy.ts';
15
- import { NodeID } from './identity.ts';
16
- import { EvaluationContext, EvaluationContextRoot } from './internal-api/EvaluationContext.ts';
17
- import { InstanceConfig } from './internal-api/InstanceConfig.ts';
18
- import { SubscribableDependency } from './internal-api/SubscribableDependency.ts';
20
+ import { EvaluationContext } from './internal-api/EvaluationContext.ts';
21
+ import { ClientReactiveSubmittableParentNode } from './internal-api/submission/ClientReactiveSubmittableParentNode.ts';
19
22
  import { TranslationContext } from './internal-api/TranslationContext.ts';
23
+ import { PrimaryInstance } from './PrimaryInstance.ts';
20
24
  interface RootStateSpec {
21
- readonly reference: string;
22
- readonly readonly: boolean;
23
- readonly relevant: boolean;
24
- readonly required: boolean;
25
+ readonly reference: Accessor<string>;
26
+ readonly readonly: Accessor<boolean>;
27
+ readonly relevant: Accessor<boolean>;
28
+ readonly required: Accessor<boolean>;
25
29
  readonly label: null;
26
30
  readonly hint: null;
27
- readonly children: Accessor<readonly NodeID[]>;
31
+ readonly children: Accessor<readonly FormNodeID[]>;
28
32
  readonly valueOptions: null;
29
33
  readonly value: null;
30
- readonly activeLanguage: Signal<ActiveLanguage>;
34
+ readonly activeLanguage: Accessor<ActiveLanguage>;
31
35
  }
32
- export declare class Root extends InstanceNode<RootDefinition, RootStateSpec, GeneralChildNode> implements RootNode, EvaluationContext, EvaluationContextRoot, SubscribableDependency, TranslationContext {
36
+ export declare class Root extends DescendantNode<RootDefinition, RootStateSpec, PrimaryInstance, GeneralChildNode> implements RootNode, XFormsXPathElement, EvaluationContext, TranslationContext, ClientReactiveSubmittableParentNode<GeneralChildNode> {
33
37
  private readonly childrenState;
38
+ readonly [XPathNodeKindKey] = "element";
39
+ protected readonly state: SharedNodeState<RootStateSpec>;
40
+ protected readonly engineState: EngineState<RootStateSpec>;
34
41
  readonly hasReadonlyAncestor: () => boolean;
42
+ readonly isSelfReadonly: () => boolean;
35
43
  readonly isReadonly: () => boolean;
36
44
  readonly hasNonRelevantAncestor: () => boolean;
45
+ readonly isSelfRelevant: () => boolean;
37
46
  readonly isRelevant: () => boolean;
38
- protected readonly state: SharedNodeState<RootStateSpec>;
39
- protected readonly engineState: EngineState<RootStateSpec>;
47
+ readonly isRequired: () => boolean;
40
48
  readonly nodeType = "root";
41
49
  readonly appearances: null;
50
+ readonly nodeOptions: null;
42
51
  readonly classes: BodyClassList;
43
52
  readonly currentState: MaterializedChildren<CurrentState<RootStateSpec>, GeneralChildNode>;
44
53
  readonly validationState: AncestorNodeValidationState;
45
- protected readonly instanceDOM: XFormDOM;
46
- readonly root: this;
47
- readonly evaluator: XFormsXPathEvaluator;
48
- readonly contextNode: Element;
49
- readonly parent: null;
54
+ readonly submissionState: SubmissionState;
55
+ get submissionDefinition(): SubmissionDefinition;
50
56
  readonly languages: FormLanguages;
51
- get activeLanguage(): ActiveLanguage;
52
- constructor(xformDOM: XFormDOM, definition: RootDefinition, engineConfig: InstanceConfig);
57
+ constructor(parent: PrimaryInstance);
53
58
  getChildren(): readonly GeneralChildNode[];
54
59
  setLanguage(language: FormLanguage): Root;
55
- subscribe(): void;
60
+ prepareSubmission<ChunkedType extends SubmissionChunkedType = 'monolithic'>(options?: SubmissionOptions<ChunkedType>): Promise<SubmissionResult<ChunkedType>>;
56
61
  }
57
62
  export {};
@@ -0,0 +1,66 @@
1
+ import { XPathNodeKindKey } from '@getodk/xpath';
2
+ import { Accessor } from 'solid-js';
3
+ import { SelectDefinition, SelectItem, SelectNode, SelectNodeAppearances, SelectValueOptions } from '../client/SelectNode.ts';
4
+ import { TextRange } from '../client/TextRange.ts';
5
+ import { ValueType } from '../client/ValueType.ts';
6
+ import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
7
+ import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
8
+ import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
9
+ import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
10
+ import { SelectType } from '../parse/body/control/SelectControlDefinition.ts';
11
+ import { Root } from './Root.ts';
12
+ import { ValueNodeStateSpec, ValueNode } from './abstract/ValueNode.ts';
13
+ import { GeneralParentNode } from './hierarchy.ts';
14
+ import { EvaluationContext } from './internal-api/EvaluationContext.ts';
15
+ import { ValidationContext } from './internal-api/ValidationContext.ts';
16
+ import { ClientReactiveSubmittableValueNode } from './internal-api/submission/ClientReactiveSubmittableValueNode.ts';
17
+ export type AnySelectDefinition = {
18
+ [V in ValueType]: SelectDefinition<V>;
19
+ }[ValueType];
20
+ interface SelectControlStateSpec extends ValueNodeStateSpec<readonly string[]> {
21
+ readonly label: Accessor<TextRange<'label'> | null>;
22
+ readonly hint: Accessor<TextRange<'hint'> | null>;
23
+ readonly valueOptions: Accessor<SelectValueOptions>;
24
+ }
25
+ export declare class SelectControl extends ValueNode<'string', SelectDefinition<'string'>, readonly string[], readonly string[]> implements SelectNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSubmittableValueNode {
26
+ static from(parent: GeneralParentNode, definition: SelectDefinition): SelectControl;
27
+ private readonly mapOptionsByValue;
28
+ protected readonly getInstanceValue: Accessor<string>;
29
+ readonly [XPathNodeKindKey] = "element";
30
+ protected readonly state: SharedNodeState<SelectControlStateSpec>;
31
+ protected readonly engineState: EngineState<SelectControlStateSpec>;
32
+ readonly nodeType = "select";
33
+ readonly selectType: SelectType;
34
+ readonly appearances: SelectNodeAppearances;
35
+ readonly nodeOptions: null;
36
+ readonly currentState: CurrentState<SelectControlStateSpec>;
37
+ private constructor();
38
+ /**
39
+ * Filters {@link values} to include only those values which are currently
40
+ * available in the mapping produced by {@link mapOptionsByValue}, i.e. within
41
+ * a potentially filtered itemset.
42
+ *
43
+ * Note: this method effectively produces an intersection of
44
+ * {@link sourceValues} and {@link values}. **Importantly**, ordering of the
45
+ * results is deterministic, preserving the order of values as yielded _by
46
+ * {@link sourceValues}_.
47
+ *
48
+ * At time of writing, there are several tests (in `@getodk/scenario`, ported
49
+ * from JavaRosa) which expect the values of a `<select>` to match the order
50
+ * they appear in the control's (potentially filtered) `<itemset>` (or list of
51
+ * `<item>`s, for forms defining those inline).
52
+ *
53
+ * @todo The `<odk:rank>` control, having semantics very similar to
54
+ * `<select>`, will likely perform similar filtering logic. However, one of
55
+ * the important distinctions between these controls is that `<odk:rank>`
56
+ * exists explicitly to control the order of values. It's quite likely that
57
+ * would be achieved by invoking the same logic with the parameter order
58
+ * reversed.
59
+ */
60
+ private filterValues;
61
+ getValueOption(value: string): SelectItem | null;
62
+ isSelected(value: string): boolean;
63
+ selectValue(value: string | null): Root;
64
+ selectValues(values: readonly string[]): Root;
65
+ }
66
+ export {};
@@ -1,30 +1,36 @@
1
+ import { XPathNodeKindKey } from '@getodk/xpath';
1
2
  import { Accessor } from 'solid-js';
3
+ import { FormNodeID } from '../client/identity.ts';
4
+ import { SubmissionState } from '../client/submission/SubmissionState.ts';
2
5
  import { SubtreeDefinition, SubtreeNode } from '../client/SubtreeNode.ts';
3
6
  import { AncestorNodeValidationState } from '../client/validation.ts';
7
+ import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
4
8
  import { MaterializedChildren } from '../lib/reactivity/materializeCurrentStateChildren.ts';
5
9
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
6
10
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
7
11
  import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
8
12
  import { DescendantNodeSharedStateSpec, DescendantNode } from './abstract/DescendantNode.ts';
9
13
  import { GeneralChildNode, GeneralParentNode } from './hierarchy.ts';
10
- import { NodeID } from './identity.ts';
11
14
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
12
- import { SubscribableDependency } from './internal-api/SubscribableDependency.ts';
15
+ import { ClientReactiveSubmittableParentNode } from './internal-api/submission/ClientReactiveSubmittableParentNode.ts';
13
16
  interface SubtreeStateSpec extends DescendantNodeSharedStateSpec {
14
17
  readonly label: null;
15
18
  readonly hint: null;
16
- readonly children: Accessor<readonly NodeID[]>;
19
+ readonly children: Accessor<readonly FormNodeID[]>;
17
20
  readonly valueOptions: null;
18
21
  readonly value: null;
19
22
  }
20
- export declare class Subtree extends DescendantNode<SubtreeDefinition, SubtreeStateSpec, GeneralChildNode> implements SubtreeNode, EvaluationContext, SubscribableDependency {
23
+ export declare class Subtree extends DescendantNode<SubtreeDefinition, SubtreeStateSpec, GeneralParentNode, GeneralChildNode> implements SubtreeNode, XFormsXPathElement, EvaluationContext, ClientReactiveSubmittableParentNode<GeneralChildNode> {
21
24
  private readonly childrenState;
25
+ readonly [XPathNodeKindKey] = "element";
22
26
  protected readonly state: SharedNodeState<SubtreeStateSpec>;
23
- protected engineState: EngineState<SubtreeStateSpec>;
27
+ protected readonly engineState: EngineState<SubtreeStateSpec>;
24
28
  readonly nodeType = "subtree";
25
29
  readonly appearances: null;
30
+ readonly nodeOptions: null;
26
31
  readonly currentState: MaterializedChildren<CurrentState<SubtreeStateSpec>, GeneralChildNode>;
27
32
  readonly validationState: AncestorNodeValidationState;
33
+ readonly submissionState: SubmissionState;
28
34
  constructor(parent: GeneralParentNode, definition: SubtreeDefinition);
29
35
  getChildren(): readonly GeneralChildNode[];
30
36
  }
@@ -1,40 +1,34 @@
1
+ import { XPathNodeKindKey } from '@getodk/xpath';
1
2
  import { Accessor } from 'solid-js';
2
3
  import { TextRange } from '../client/TextRange.ts';
3
4
  import { TriggerNode, TriggerNodeDefinition } from '../client/TriggerNode.ts';
4
- import { AnyViolation, LeafNodeValidationState } from '../client/validation.ts';
5
+ import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
6
+ import { TriggerInputValue, TriggerRuntimeValue } from '../lib/codecs/TriggerCodec.ts';
5
7
  import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
6
8
  import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
7
9
  import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
8
- import { SimpleAtomicState } from '../lib/reactivity/types.ts';
9
10
  import { UnknownAppearanceDefinition } from '../parse/body/appearance/unknownAppearanceParser.ts';
10
11
  import { Root } from './Root.ts';
11
- import { DescendantNodeStateSpec, DescendantNode } from './abstract/DescendantNode.ts';
12
+ import { ValueNode, ValueNodeStateSpec } from './abstract/ValueNode.ts';
12
13
  import { GeneralParentNode } from './hierarchy.ts';
13
14
  import { EvaluationContext } from './internal-api/EvaluationContext.ts';
14
- import { SubscribableDependency } from './internal-api/SubscribableDependency.ts';
15
15
  import { ValidationContext } from './internal-api/ValidationContext.ts';
16
- import { ValueContext } from './internal-api/ValueContext.ts';
17
- interface TriggerControlStateSpec extends DescendantNodeStateSpec<boolean> {
16
+ import { ClientReactiveSubmittableValueNode } from './internal-api/submission/ClientReactiveSubmittableValueNode.ts';
17
+ interface TriggerControlStateSpec extends ValueNodeStateSpec<TriggerRuntimeValue> {
18
18
  readonly label: Accessor<TextRange<'label'> | null>;
19
19
  readonly hint: Accessor<TextRange<'hint'> | null>;
20
- readonly children: null;
21
- readonly value: SimpleAtomicState<boolean>;
22
20
  readonly valueOptions: null;
23
21
  }
24
- export declare class TriggerControl extends DescendantNode<TriggerNodeDefinition, TriggerControlStateSpec, null> implements TriggerNode, EvaluationContext, SubscribableDependency, ValidationContext, ValueContext<boolean> {
25
- private readonly validation;
22
+ export declare class TriggerControl extends ValueNode<'string', TriggerNodeDefinition<'string'>, TriggerRuntimeValue, TriggerInputValue> implements TriggerNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSubmittableValueNode {
23
+ static from(parent: GeneralParentNode, definition: TriggerNodeDefinition): TriggerControl;
24
+ readonly [XPathNodeKindKey] = "element";
26
25
  protected readonly state: SharedNodeState<TriggerControlStateSpec>;
27
- protected engineState: EngineState<TriggerControlStateSpec>;
26
+ protected readonly engineState: EngineState<TriggerControlStateSpec>;
28
27
  readonly nodeType = "trigger";
29
28
  readonly appearances: UnknownAppearanceDefinition;
29
+ readonly nodeOptions: null;
30
30
  readonly currentState: CurrentState<TriggerControlStateSpec>;
31
- get validationState(): LeafNodeValidationState;
32
- readonly encodeValue: (runtimeValue: boolean) => string;
33
- readonly decodeValue: (instanceValue: string) => boolean;
34
- constructor(parent: GeneralParentNode, definition: TriggerNodeDefinition);
35
- getViolation(): AnyViolation | null;
36
- isBlank(): boolean;
37
- getChildren(): readonly [];
38
- setValue(value: boolean): Root;
31
+ private constructor();
32
+ setValue(value: TriggerInputValue): Root;
39
33
  }
40
34
  export {};