@getodk/xforms-engine 0.5.0 → 0.7.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 (425) hide show
  1. package/README.md +1 -1
  2. package/dist/client/BaseNode.d.ts +8 -4
  3. package/dist/client/BaseValueNode.d.ts +8 -4
  4. package/dist/client/GroupNode.d.ts +1 -0
  5. package/dist/client/InputNode.d.ts +32 -3
  6. package/dist/client/ModelValueNode.d.ts +1 -0
  7. package/dist/client/NoteNode.d.ts +24 -7
  8. package/dist/client/RangeNode.d.ts +36 -0
  9. package/dist/client/RankNode.d.ts +46 -0
  10. package/dist/client/RootNode.d.ts +21 -14
  11. package/dist/client/SelectNode.d.ts +47 -25
  12. package/dist/client/SubtreeNode.d.ts +1 -0
  13. package/dist/client/TriggerNode.d.ts +10 -6
  14. package/dist/client/constants.d.ts +11 -12
  15. package/dist/client/form/CreateFormInstance.d.ts +14 -0
  16. package/dist/client/form/EditFormInstance.d.ts +62 -0
  17. package/dist/client/form/FormInstance.d.ts +104 -0
  18. package/dist/client/form/FormInstanceConfig.d.ts +17 -0
  19. package/dist/client/form/FormResource.d.ts +1 -0
  20. package/dist/client/form/LoadForm.d.ts +79 -0
  21. package/dist/client/form/LoadFormResult.d.ts +67 -0
  22. package/dist/client/form/RestoreFormInstance.d.ts +8 -0
  23. package/dist/client/hierarchy.d.ts +5 -5
  24. package/dist/client/index.d.ts +37 -11
  25. package/dist/client/node-types.d.ts +2 -2
  26. package/dist/client/repeat/BaseRepeatRangeNode.d.ts +3 -4
  27. package/dist/client/repeat/RepeatInstanceNode.d.ts +4 -5
  28. package/dist/client/repeat/RepeatRangeControlledNode.d.ts +2 -2
  29. package/dist/client/repeat/RepeatRangeUncontrolledNode.d.ts +2 -2
  30. package/dist/client/resources.d.ts +1 -1
  31. package/dist/client/serialization/InstanceData.d.ts +12 -0
  32. package/dist/client/serialization/InstanceFile.d.ts +6 -0
  33. package/dist/client/serialization/InstancePayload.d.ts +93 -0
  34. package/dist/client/serialization/InstancePayloadOptions.d.ts +23 -0
  35. package/dist/client/serialization/InstanceState.d.ts +12 -0
  36. package/dist/client/submission/{SubmissionDefinition.d.ts → SubmissionMeta.d.ts} +1 -1
  37. package/dist/client/unsupported/UnsupportedControlNode.d.ts +1 -3
  38. package/dist/entrypoints/FormInstance.d.ts +20 -0
  39. package/dist/entrypoints/FormResult/BaseFormResult.d.ts +22 -0
  40. package/dist/entrypoints/FormResult/BaseInstantiableFormResult.d.ts +25 -0
  41. package/dist/entrypoints/FormResult/FormFailureResult.d.ts +17 -0
  42. package/dist/entrypoints/FormResult/FormSuccessResult.d.ts +15 -0
  43. package/dist/entrypoints/FormResult/FormWarningResult.d.ts +15 -0
  44. package/dist/entrypoints/createInstance.d.ts +9 -0
  45. package/dist/entrypoints/editInstance.d.ts +9 -0
  46. package/dist/entrypoints/index.d.ts +4 -0
  47. package/dist/entrypoints/loadForm.d.ts +4 -0
  48. package/dist/entrypoints/restoreInstance.d.ts +9 -0
  49. package/dist/error/LoadFormFailureError.d.ts +9 -0
  50. package/dist/error/MalformedInstanceDataError.d.ts +3 -0
  51. package/dist/error/RankMissingValueError.d.ts +3 -0
  52. package/dist/error/RankValueTypeError.d.ts +6 -0
  53. package/dist/error/SelectValueTypeError.d.ts +15 -0
  54. package/dist/error/TemplatedNodeAttributeSerializationError.d.ts +22 -0
  55. package/dist/error/XFormsSpecViolationError.d.ts +2 -0
  56. package/dist/index.d.ts +2 -34
  57. package/dist/index.js +7274 -5840
  58. package/dist/index.js.map +1 -1
  59. package/dist/instance/Group.d.ts +7 -5
  60. package/dist/instance/InputControl.d.ts +9 -6
  61. package/dist/instance/ModelValue.d.ts +7 -4
  62. package/dist/instance/Note.d.ts +14 -25
  63. package/dist/instance/PrimaryInstance.d.ts +36 -8
  64. package/dist/instance/RangeControl.d.ts +35 -0
  65. package/dist/instance/RankControl.d.ts +41 -0
  66. package/dist/instance/Root.d.ts +8 -9
  67. package/dist/instance/SelectControl.d.ts +67 -0
  68. package/dist/instance/Subtree.d.ts +7 -5
  69. package/dist/instance/TriggerControl.d.ts +10 -22
  70. package/dist/instance/abstract/DescendantNode.d.ts +11 -3
  71. package/dist/instance/abstract/InstanceNode.d.ts +10 -5
  72. package/dist/instance/abstract/ValueNode.d.ts +7 -6
  73. package/dist/instance/children/DescendantNodeInitOptions.d.ts +32 -0
  74. package/dist/instance/{children.d.ts → children/buildChildren.d.ts} +1 -1
  75. package/dist/instance/children/childrenInitOptions.d.ts +9 -0
  76. package/dist/instance/children/normalizeChildInitOptions.d.ts +2 -0
  77. package/dist/instance/hierarchy.d.ts +9 -9
  78. package/dist/instance/input/InitialInstanceState.d.ts +13 -0
  79. package/dist/instance/input/InstanceAttachmentMap.d.ts +19 -0
  80. package/dist/instance/internal-api/InstanceConfig.d.ts +2 -9
  81. package/dist/instance/internal-api/InstanceValueContext.d.ts +10 -1
  82. package/dist/instance/internal-api/serialization/ClientReactiveSerializableInstance.d.ts +14 -0
  83. package/dist/instance/internal-api/serialization/ClientReactiveSerializableLeafNode.d.ts +32 -0
  84. package/dist/instance/internal-api/serialization/ClientReactiveSerializableParentNode.d.ts +18 -0
  85. package/dist/instance/internal-api/serialization/ClientReactiveSerializableTemplatedNode.d.ts +13 -0
  86. package/dist/instance/internal-api/serialization/ClientReactiveSerializableValueNode.d.ts +21 -0
  87. package/dist/instance/repeat/BaseRepeatRange.d.ts +11 -8
  88. package/dist/instance/repeat/RepeatInstance.d.ts +11 -7
  89. package/dist/instance/repeat/RepeatRangeControlled.d.ts +27 -3
  90. package/dist/instance/repeat/RepeatRangeUncontrolled.d.ts +4 -3
  91. package/dist/instance/resource.d.ts +5 -1
  92. package/dist/instance/unsupported/UploadControl.d.ts +32 -4
  93. package/dist/integration/xpath/EngineXPathEvaluator.d.ts +2 -2
  94. package/dist/integration/xpath/adapter/kind.d.ts +4 -10
  95. package/dist/integration/xpath/adapter/names.d.ts +1 -11
  96. package/dist/integration/xpath/adapter/traversal.d.ts +10 -9
  97. package/dist/integration/xpath/static-dom/StaticAttribute.d.ts +10 -4
  98. package/dist/integration/xpath/static-dom/StaticDocument.d.ts +13 -11
  99. package/dist/integration/xpath/static-dom/StaticElement.d.ts +25 -18
  100. package/dist/integration/xpath/static-dom/StaticNode.d.ts +1 -1
  101. package/dist/integration/xpath/static-dom/StaticParentNode.d.ts +13 -0
  102. package/dist/integration/xpath/static-dom/staticNodeName.d.ts +3 -0
  103. package/dist/lib/client-reactivity/instance-state/createNodeRangeInstanceState.d.ts +4 -0
  104. package/dist/lib/client-reactivity/instance-state/createParentNodeInstanceState.d.ts +4 -0
  105. package/dist/lib/client-reactivity/instance-state/createPrimaryInstanceState.d.ts +3 -0
  106. package/dist/lib/client-reactivity/instance-state/createRootInstanceState.d.ts +3 -0
  107. package/dist/lib/client-reactivity/instance-state/createTemplatedNodeInstanceState.d.ts +6 -0
  108. package/dist/lib/client-reactivity/instance-state/createValueNodeInstanceState.d.ts +3 -0
  109. package/dist/lib/client-reactivity/instance-state/prepareInstancePayload.d.ts +8 -0
  110. package/dist/lib/codecs/Geopoint/Geopoint.d.ts +48 -0
  111. package/dist/lib/codecs/Geopoint/GeopointValueCodec.d.ts +5 -0
  112. package/dist/lib/codecs/NoteCodec.d.ts +8 -0
  113. package/dist/lib/codecs/RangeCodec.d.ts +8 -0
  114. package/dist/lib/codecs/TempUnsupportedControlCodec.d.ts +7 -0
  115. package/dist/lib/codecs/TriggerCodec.d.ts +7 -0
  116. package/dist/lib/codecs/ValueArrayCodec.d.ts +11 -0
  117. package/dist/lib/codecs/ValueCodec.d.ts +2 -2
  118. package/dist/lib/codecs/getNoteCodec.d.ts +3 -0
  119. package/dist/lib/codecs/getSelectCodec.d.ts +5 -0
  120. package/dist/lib/codecs/getSharedValueCodec.d.ts +3 -2
  121. package/dist/lib/codecs/items/BaseItemCodec.d.ts +9 -0
  122. package/dist/lib/codecs/items/MultipleValueItemCodec.d.ts +14 -0
  123. package/dist/lib/codecs/items/SingleValueItemCodec.d.ts +24 -0
  124. package/dist/lib/dom/query.d.ts +1 -2
  125. package/dist/lib/names/NamespaceDeclaration.d.ts +45 -0
  126. package/dist/lib/names/NamespaceDeclarationMap.d.ts +137 -0
  127. package/dist/lib/names/NamespaceURL.d.ts +30 -0
  128. package/dist/lib/names/QualifiedName.d.ts +113 -0
  129. package/dist/lib/names/UnprefixedXFormsName.d.ts +4 -0
  130. package/dist/lib/number-parsers.d.ts +2 -0
  131. package/dist/lib/reactivity/createInstanceValueState.d.ts +2 -27
  132. package/dist/lib/reactivity/createItemCollection.d.ts +21 -0
  133. package/dist/lib/xml-serialization.d.ts +11 -2
  134. package/dist/parse/XFormDOM.d.ts +1 -1
  135. package/dist/parse/body/BodyDefinition.d.ts +2 -2
  136. package/dist/parse/body/appearance/rangeAppearanceParser.d.ts +3 -0
  137. package/dist/parse/body/control/InputControlDefinition.d.ts +3 -0
  138. package/dist/parse/body/control/ItemDefinition.d.ts +14 -0
  139. package/dist/parse/body/control/ItemsetDefinition.d.ts +18 -0
  140. package/dist/parse/body/control/RangeControlDefinition.d.ts +31 -2
  141. package/dist/parse/body/control/RankControlDefinition.d.ts +7 -3
  142. package/dist/parse/body/control/{select/SelectDefinition.d.ts → SelectControlDefinition.d.ts} +9 -9
  143. package/dist/parse/expression/ItemsetNodesetExpression.d.ts +1 -1
  144. package/dist/parse/expression/ItemsetValueExpression.d.ts +1 -1
  145. package/dist/parse/model/BindDefinition.d.ts +3 -1
  146. package/dist/parse/model/BindPreloadDefinition.d.ts +42 -0
  147. package/dist/parse/model/DescendentNodeDefinition.d.ts +4 -13
  148. package/dist/parse/model/ItextTranslationsDefinition.d.ts +18 -0
  149. package/dist/parse/model/LeafNodeDefinition.d.ts +9 -7
  150. package/dist/parse/model/ModelDefinition.d.ts +9 -2
  151. package/dist/parse/model/NodeDefinition.d.ts +30 -45
  152. package/dist/parse/model/NoteNodeDefinition.d.ts +7 -5
  153. package/dist/parse/model/RangeNodeDefinition.d.ts +42 -0
  154. package/dist/parse/model/RepeatDefinition.d.ts +62 -0
  155. package/dist/parse/model/RootAttributeDefinition.d.ts +21 -0
  156. package/dist/parse/model/RootAttributeMap.d.ts +24 -0
  157. package/dist/parse/model/RootDefinition.d.ts +15 -14
  158. package/dist/parse/model/SecondaryInstance/SecondaryInstancesDefinition.d.ts +15 -2
  159. package/dist/parse/model/SecondaryInstance/assertSecondaryInstanceDefinition.d.ts +5 -0
  160. package/dist/parse/model/SecondaryInstance/defineSecondaryInstance.d.ts +5 -0
  161. package/dist/parse/model/SecondaryInstance/sources/BlankSecondaryInstanceSource.d.ts +1 -7
  162. package/dist/parse/model/SecondaryInstance/sources/CSVExternalSecondaryInstance.d.ts +1 -1
  163. package/dist/parse/model/SecondaryInstance/sources/GeoJSONExternalSecondaryInstance.d.ts +1 -1
  164. package/dist/parse/model/SecondaryInstance/sources/InternalSecondaryInstanceSource.d.ts +1 -1
  165. package/dist/parse/model/SecondaryInstance/sources/SecondaryInstanceSource.d.ts +1 -1
  166. package/dist/parse/model/SecondaryInstance/sources/XMLExternalSecondaryInstanceSource.d.ts +1 -1
  167. package/dist/parse/model/{FormSubmissionDefinition.d.ts → SubmissionDefinition.d.ts} +2 -2
  168. package/dist/parse/model/SubtreeDefinition.d.ts +9 -7
  169. package/dist/parse/model/nodeDefinitionMap.d.ts +5 -0
  170. package/dist/parse/shared/parseInstanceXML.d.ts +21 -0
  171. package/dist/parse/shared/parseStaticDocumentFromDOMSubtree.d.ts +4 -22
  172. package/dist/parse/text/ItemLabelDefinition.d.ts +1 -1
  173. package/dist/parse/text/ItemsetLabelDefinition.d.ts +2 -2
  174. package/dist/parse/text/abstract/TextElementDefinition.d.ts +1 -1
  175. package/dist/parse/xpath/semantic-analysis.d.ts +1 -3
  176. package/dist/solid.js +7247 -5813
  177. package/dist/solid.js.map +1 -1
  178. package/package.json +15 -12
  179. package/src/client/BaseNode.ts +9 -4
  180. package/src/client/BaseValueNode.ts +8 -4
  181. package/src/client/GroupNode.ts +1 -0
  182. package/src/client/InputNode.ts +38 -2
  183. package/src/client/ModelValueNode.ts +1 -0
  184. package/src/client/NoteNode.ts +43 -7
  185. package/src/client/RangeNode.ts +51 -0
  186. package/src/client/RankNode.ts +54 -0
  187. package/src/client/RootNode.ts +30 -16
  188. package/src/client/SelectNode.ts +53 -26
  189. package/src/client/SubtreeNode.ts +1 -0
  190. package/src/client/TriggerNode.ts +12 -6
  191. package/src/client/constants.ts +12 -14
  192. package/src/client/form/CreateFormInstance.ts +19 -0
  193. package/src/client/form/EditFormInstance.ts +93 -0
  194. package/src/client/form/FormInstance.ts +114 -0
  195. package/src/client/form/FormInstanceConfig.ts +18 -0
  196. package/src/client/form/FormResource.ts +1 -0
  197. package/src/client/form/LoadForm.ts +92 -0
  198. package/src/client/form/LoadFormResult.ts +103 -0
  199. package/src/client/form/RestoreFormInstance.ts +14 -0
  200. package/src/client/hierarchy.ts +7 -8
  201. package/src/client/index.ts +47 -29
  202. package/src/client/node-types.ts +3 -5
  203. package/src/client/repeat/BaseRepeatRangeNode.ts +3 -4
  204. package/src/client/repeat/RepeatInstanceNode.ts +4 -8
  205. package/src/client/repeat/RepeatRangeControlledNode.ts +2 -2
  206. package/src/client/repeat/RepeatRangeUncontrolledNode.ts +2 -2
  207. package/src/client/resources.ts +2 -2
  208. package/src/client/serialization/InstanceData.ts +16 -0
  209. package/src/client/serialization/InstanceFile.ts +9 -0
  210. package/src/client/serialization/InstancePayload.ts +126 -0
  211. package/src/client/serialization/InstancePayloadOptions.ts +28 -0
  212. package/src/client/serialization/InstanceState.ts +14 -0
  213. package/src/client/submission/{SubmissionDefinition.ts → SubmissionMeta.ts} +1 -1
  214. package/src/client/unsupported/UnsupportedControlNode.ts +2 -6
  215. package/src/entrypoints/FormInstance.ts +55 -0
  216. package/src/entrypoints/FormResult/BaseFormResult.ts +40 -0
  217. package/src/entrypoints/FormResult/BaseInstantiableFormResult.ts +109 -0
  218. package/src/entrypoints/FormResult/FormFailureResult.ts +44 -0
  219. package/src/entrypoints/FormResult/FormSuccessResult.ts +25 -0
  220. package/src/entrypoints/FormResult/FormWarningResult.ts +25 -0
  221. package/src/entrypoints/createInstance.ts +23 -0
  222. package/src/entrypoints/editInstance.ts +24 -0
  223. package/src/entrypoints/index.ts +4 -0
  224. package/src/entrypoints/loadForm.ts +154 -0
  225. package/src/entrypoints/restoreInstance.ts +27 -0
  226. package/src/error/LoadFormFailureError.ts +114 -0
  227. package/src/error/MalformedInstanceDataError.ts +3 -0
  228. package/src/error/RankMissingValueError.ts +5 -0
  229. package/src/error/RankValueTypeError.ts +13 -0
  230. package/src/error/SelectValueTypeError.ts +22 -0
  231. package/src/error/TemplatedNodeAttributeSerializationError.ts +24 -0
  232. package/src/error/XFormsSpecViolationError.ts +1 -0
  233. package/src/index.ts +2 -56
  234. package/src/instance/Group.ts +17 -15
  235. package/src/instance/InputControl.ts +58 -12
  236. package/src/instance/ModelValue.ts +19 -11
  237. package/src/instance/Note.ts +40 -64
  238. package/src/instance/PrimaryInstance.ts +70 -31
  239. package/src/instance/RangeControl.ts +119 -0
  240. package/src/instance/RankControl.ts +208 -0
  241. package/src/instance/Root.ts +21 -31
  242. package/src/instance/SelectControl.ts +228 -0
  243. package/src/instance/Subtree.ts +17 -15
  244. package/src/instance/TriggerControl.ts +50 -80
  245. package/src/instance/abstract/DescendantNode.ts +13 -8
  246. package/src/instance/abstract/InstanceNode.ts +19 -7
  247. package/src/instance/abstract/ValueNode.ts +14 -15
  248. package/src/instance/children/DescendantNodeInitOptions.ts +35 -0
  249. package/src/instance/children/buildChildren.ts +206 -0
  250. package/src/instance/children/childrenInitOptions.ts +117 -0
  251. package/src/instance/children/normalizeChildInitOptions.ts +332 -0
  252. package/src/instance/hierarchy.ts +21 -16
  253. package/src/instance/input/InitialInstanceState.ts +108 -0
  254. package/src/instance/input/InstanceAttachmentMap.ts +142 -0
  255. package/src/instance/internal-api/InstanceConfig.ts +3 -10
  256. package/src/instance/internal-api/InstanceValueContext.ts +11 -1
  257. package/src/instance/internal-api/serialization/ClientReactiveSerializableInstance.ts +20 -0
  258. package/src/instance/internal-api/serialization/ClientReactiveSerializableLeafNode.ts +43 -0
  259. package/src/instance/internal-api/serialization/ClientReactiveSerializableParentNode.ts +26 -0
  260. package/src/instance/internal-api/serialization/ClientReactiveSerializableTemplatedNode.ts +24 -0
  261. package/src/instance/internal-api/serialization/ClientReactiveSerializableValueNode.ts +28 -0
  262. package/src/instance/repeat/BaseRepeatRange.ts +21 -24
  263. package/src/instance/repeat/RepeatInstance.ts +27 -19
  264. package/src/instance/repeat/RepeatRangeControlled.ts +90 -17
  265. package/src/instance/repeat/RepeatRangeUncontrolled.ts +10 -9
  266. package/src/instance/resource.ts +18 -2
  267. package/src/instance/unsupported/UploadControl.ts +116 -5
  268. package/src/integration/xpath/EngineXPathEvaluator.ts +2 -2
  269. package/src/integration/xpath/adapter/kind.ts +1 -28
  270. package/src/integration/xpath/adapter/names.ts +66 -17
  271. package/src/integration/xpath/adapter/traversal.ts +12 -11
  272. package/src/integration/xpath/static-dom/StaticAttribute.ts +16 -7
  273. package/src/integration/xpath/static-dom/StaticDocument.ts +17 -18
  274. package/src/integration/xpath/static-dom/StaticElement.ts +211 -52
  275. package/src/integration/xpath/static-dom/StaticNode.ts +1 -1
  276. package/src/integration/xpath/static-dom/StaticParentNode.ts +22 -0
  277. package/src/integration/xpath/static-dom/staticNodeName.ts +20 -0
  278. package/src/lib/client-reactivity/instance-state/createNodeRangeInstanceState.ts +17 -0
  279. package/src/lib/client-reactivity/instance-state/createParentNodeInstanceState.ts +22 -0
  280. package/src/lib/client-reactivity/instance-state/createPrimaryInstanceState.ts +12 -0
  281. package/src/lib/client-reactivity/instance-state/createRootInstanceState.ts +19 -0
  282. package/src/lib/client-reactivity/instance-state/createTemplatedNodeInstanceState.ts +31 -0
  283. package/src/lib/client-reactivity/instance-state/createValueNodeInstanceState.ts +21 -0
  284. package/src/lib/client-reactivity/instance-state/prepareInstancePayload.ts +173 -0
  285. package/src/lib/codecs/Geopoint/Geopoint.ts +150 -0
  286. package/src/lib/codecs/Geopoint/GeopointValueCodec.ts +20 -0
  287. package/src/lib/codecs/NoteCodec.ts +32 -0
  288. package/src/lib/codecs/RangeCodec.ts +65 -0
  289. package/src/lib/codecs/TempUnsupportedControlCodec.ts +32 -0
  290. package/src/lib/codecs/TriggerCodec.ts +64 -0
  291. package/src/lib/codecs/ValueArrayCodec.ts +42 -0
  292. package/src/lib/codecs/ValueCodec.ts +2 -2
  293. package/src/lib/codecs/getNoteCodec.ts +27 -0
  294. package/src/lib/codecs/getSelectCodec.ts +27 -0
  295. package/src/lib/codecs/getSharedValueCodec.ts +5 -3
  296. package/src/lib/codecs/items/BaseItemCodec.ts +20 -0
  297. package/src/lib/codecs/items/MultipleValueItemCodec.ts +28 -0
  298. package/src/lib/codecs/items/SingleValueItemCodec.ts +67 -0
  299. package/src/lib/dom/query.ts +1 -2
  300. package/src/lib/names/NamespaceDeclaration.ts +106 -0
  301. package/src/lib/names/NamespaceDeclarationMap.ts +228 -0
  302. package/src/lib/names/NamespaceURL.ts +44 -0
  303. package/src/lib/names/QualifiedName.ts +170 -0
  304. package/src/lib/names/UnprefixedXFormsName.ts +12 -0
  305. package/src/lib/number-parsers.ts +25 -0
  306. package/src/lib/reactivity/createInstanceValueState.ts +69 -43
  307. package/src/lib/reactivity/{createSelectItems.ts → createItemCollection.ts} +41 -36
  308. package/src/lib/xml-serialization.ts +76 -9
  309. package/src/parse/XFormDOM.ts +141 -21
  310. package/src/parse/XFormDefinition.ts +1 -4
  311. package/src/parse/body/BodyDefinition.ts +4 -4
  312. package/src/parse/body/appearance/rangeAppearanceParser.ts +11 -0
  313. package/src/parse/body/control/InputControlDefinition.ts +9 -0
  314. package/src/parse/body/control/{select/ItemDefinition.ts → ItemDefinition.ts} +8 -6
  315. package/src/parse/body/control/{select/ItemsetDefinition.ts → ItemsetDefinition.ts} +11 -9
  316. package/src/parse/body/control/RangeControlDefinition.ts +91 -6
  317. package/src/parse/body/control/RankControlDefinition.ts +25 -7
  318. package/src/parse/body/control/{select/SelectDefinition.ts → SelectControlDefinition.ts} +9 -9
  319. package/src/parse/expression/ItemsetNodesetExpression.ts +1 -1
  320. package/src/parse/expression/ItemsetValueExpression.ts +1 -1
  321. package/src/parse/model/BindDefinition.ts +4 -0
  322. package/src/parse/model/BindPreloadDefinition.ts +100 -0
  323. package/src/parse/model/DescendentNodeDefinition.ts +7 -25
  324. package/src/parse/model/ItextTranslationsDefinition.ts +79 -0
  325. package/src/parse/model/LeafNodeDefinition.ts +13 -8
  326. package/src/parse/model/ModelDefinition.ts +36 -3
  327. package/src/parse/model/NodeDefinition.ts +38 -85
  328. package/src/parse/model/NoteNodeDefinition.ts +12 -10
  329. package/src/parse/model/RangeNodeDefinition.ts +119 -0
  330. package/src/parse/model/RepeatDefinition.ts +382 -0
  331. package/src/parse/model/RootAttributeDefinition.ts +44 -0
  332. package/src/parse/model/RootAttributeMap.ts +49 -0
  333. package/src/parse/model/RootDefinition.ts +42 -43
  334. package/src/parse/model/SecondaryInstance/SecondaryInstancesDefinition.ts +23 -2
  335. package/src/parse/model/SecondaryInstance/assertSecondaryInstanceDefinition.ts +14 -0
  336. package/src/parse/model/SecondaryInstance/defineSecondaryInstance.ts +32 -0
  337. package/src/parse/model/SecondaryInstance/sources/BlankSecondaryInstanceSource.ts +3 -24
  338. package/src/parse/model/SecondaryInstance/sources/CSVExternalSecondaryInstance.ts +33 -86
  339. package/src/parse/model/SecondaryInstance/sources/GeoJSONExternalSecondaryInstance.ts +64 -136
  340. package/src/parse/model/SecondaryInstance/sources/InternalSecondaryInstanceSource.ts +9 -7
  341. package/src/parse/model/SecondaryInstance/sources/SecondaryInstanceSource.ts +1 -1
  342. package/src/parse/model/SecondaryInstance/sources/XMLExternalSecondaryInstanceSource.ts +7 -7
  343. package/src/parse/model/{FormSubmissionDefinition.ts → SubmissionDefinition.ts} +2 -2
  344. package/src/parse/model/SubtreeDefinition.ts +15 -16
  345. package/src/parse/model/nodeDefinitionMap.ts +34 -0
  346. package/src/parse/shared/parseInstanceXML.ts +79 -0
  347. package/src/parse/shared/parseStaticDocumentFromDOMSubtree.ts +46 -131
  348. package/src/parse/text/ItemLabelDefinition.ts +1 -1
  349. package/src/parse/text/ItemsetLabelDefinition.ts +2 -2
  350. package/src/parse/text/abstract/TextElementDefinition.ts +1 -1
  351. package/src/parse/xpath/semantic-analysis.ts +4 -3
  352. package/dist/client/EngineConfig.d.ts +0 -79
  353. package/dist/client/submission/SubmissionData.d.ts +0 -7
  354. package/dist/client/submission/SubmissionInstanceFile.d.ts +0 -6
  355. package/dist/client/submission/SubmissionOptions.d.ts +0 -23
  356. package/dist/client/submission/SubmissionResult.d.ts +0 -91
  357. package/dist/client/submission/SubmissionState.d.ts +0 -12
  358. package/dist/client/unsupported/RangeNode.d.ts +0 -9
  359. package/dist/client/unsupported/RankNode.d.ts +0 -9
  360. package/dist/instance/SelectField.d.ts +0 -58
  361. package/dist/instance/abstract/UnsupportedControl.d.ts +0 -53
  362. package/dist/instance/index.d.ts +0 -8
  363. package/dist/instance/internal-api/ValueContext.d.ts +0 -23
  364. package/dist/instance/internal-api/submission/ClientReactiveSubmittableInstance.d.ts +0 -14
  365. package/dist/instance/internal-api/submission/ClientReactiveSubmittableLeafNode.d.ts +0 -31
  366. package/dist/instance/internal-api/submission/ClientReactiveSubmittableParentNode.d.ts +0 -18
  367. package/dist/instance/internal-api/submission/ClientReactiveSubmittableValueNode.d.ts +0 -17
  368. package/dist/instance/unsupported/RangeControl.d.ts +0 -6
  369. package/dist/instance/unsupported/RankControl.d.ts +0 -6
  370. package/dist/integration/xpath/static-dom/StaticNamedNode.d.ts +0 -17
  371. package/dist/lib/client-reactivity/submission/createInstanceSubmissionState.d.ts +0 -3
  372. package/dist/lib/client-reactivity/submission/createLeafNodeSubmissionState.d.ts +0 -3
  373. package/dist/lib/client-reactivity/submission/createNodeRangeSubmissionState.d.ts +0 -4
  374. package/dist/lib/client-reactivity/submission/createParentNodeSubmissionState.d.ts +0 -4
  375. package/dist/lib/client-reactivity/submission/createValueNodeSubmissionState.d.ts +0 -3
  376. package/dist/lib/client-reactivity/submission/prepareSubmission.d.ts +0 -8
  377. package/dist/lib/reactivity/createSelectItems.d.ts +0 -16
  378. package/dist/lib/reactivity/createValueState.d.ts +0 -40
  379. package/dist/parse/body/control/select/ItemDefinition.d.ts +0 -13
  380. package/dist/parse/body/control/select/ItemsetDefinition.d.ts +0 -17
  381. package/dist/parse/body/control/select/ItemsetNodesetContext.d.ts +0 -9
  382. package/dist/parse/model/ItextTranslation/ItextTranslationDefinition.d.ts +0 -4
  383. package/dist/parse/model/ItextTranslation/ItextTranslationRootDefinition.d.ts +0 -8
  384. package/dist/parse/model/ItextTranslation/ItextTranslationsDefinition.d.ts +0 -8
  385. package/dist/parse/model/RepeatInstanceDefinition.d.ts +0 -14
  386. package/dist/parse/model/RepeatRangeDefinition.d.ts +0 -29
  387. package/dist/parse/model/RepeatTemplateDefinition.d.ts +0 -28
  388. package/dist/parse/model/SecondaryInstance/SecondaryInstanceDefinition.d.ts +0 -4
  389. package/dist/parse/model/SecondaryInstance/SecondaryInstanceRootDefinition.d.ts +0 -7
  390. package/src/client/EngineConfig.ts +0 -84
  391. package/src/client/submission/SubmissionData.ts +0 -12
  392. package/src/client/submission/SubmissionInstanceFile.ts +0 -9
  393. package/src/client/submission/SubmissionOptions.ts +0 -28
  394. package/src/client/submission/SubmissionResult.ts +0 -124
  395. package/src/client/submission/SubmissionState.ts +0 -14
  396. package/src/client/unsupported/RangeNode.ts +0 -14
  397. package/src/client/unsupported/RankNode.ts +0 -14
  398. package/src/instance/SelectField.ts +0 -263
  399. package/src/instance/abstract/UnsupportedControl.ts +0 -174
  400. package/src/instance/children.ts +0 -158
  401. package/src/instance/index.ts +0 -55
  402. package/src/instance/internal-api/ValueContext.ts +0 -28
  403. package/src/instance/internal-api/submission/ClientReactiveSubmittableInstance.ts +0 -20
  404. package/src/instance/internal-api/submission/ClientReactiveSubmittableLeafNode.ts +0 -42
  405. package/src/instance/internal-api/submission/ClientReactiveSubmittableParentNode.ts +0 -25
  406. package/src/instance/internal-api/submission/ClientReactiveSubmittableValueNode.ts +0 -23
  407. package/src/instance/unsupported/RangeControl.ts +0 -9
  408. package/src/instance/unsupported/RankControl.ts +0 -9
  409. package/src/integration/xpath/static-dom/StaticNamedNode.ts +0 -45
  410. package/src/lib/client-reactivity/submission/createInstanceSubmissionState.ts +0 -12
  411. package/src/lib/client-reactivity/submission/createLeafNodeSubmissionState.ts +0 -20
  412. package/src/lib/client-reactivity/submission/createNodeRangeSubmissionState.ts +0 -17
  413. package/src/lib/client-reactivity/submission/createParentNodeSubmissionState.ts +0 -22
  414. package/src/lib/client-reactivity/submission/createValueNodeSubmissionState.ts +0 -21
  415. package/src/lib/client-reactivity/submission/prepareSubmission.ts +0 -172
  416. package/src/lib/reactivity/createValueState.ts +0 -200
  417. package/src/parse/body/control/select/ItemsetNodesetContext.ts +0 -21
  418. package/src/parse/model/ItextTranslation/ItextTranslationDefinition.ts +0 -4
  419. package/src/parse/model/ItextTranslation/ItextTranslationRootDefinition.ts +0 -41
  420. package/src/parse/model/ItextTranslation/ItextTranslationsDefinition.ts +0 -31
  421. package/src/parse/model/RepeatInstanceDefinition.ts +0 -34
  422. package/src/parse/model/RepeatRangeDefinition.ts +0 -94
  423. package/src/parse/model/RepeatTemplateDefinition.ts +0 -145
  424. package/src/parse/model/SecondaryInstance/SecondaryInstanceDefinition.ts +0 -4
  425. package/src/parse/model/SecondaryInstance/SecondaryInstanceRootDefinition.ts +0 -12
@@ -0,0 +1,23 @@
1
+ export type InstancePayloadType = 'chunked' | 'monolithic';
2
+ interface BaseInstancePayloadOptions<PayloadType extends InstancePayloadType> {
3
+ readonly payloadType?: PayloadType | undefined;
4
+ /**
5
+ * As described in the
6
+ * {@link https://docs.getodk.org/openrosa-form-submission/#extended-transmission-considerations | OpenRosa Form Submission API},
7
+ * clients may obtain this value from an OpenRosa server's
8
+ * `X-OpenRosa-Accept-Content-Length` header.
9
+ */
10
+ readonly maxSize?: number;
11
+ }
12
+ interface ChunkedInstancePayloadOptions extends BaseInstancePayloadOptions<'chunked'> {
13
+ readonly maxSize: number;
14
+ }
15
+ interface MonolithicInstancePayloadOptions extends BaseInstancePayloadOptions<'monolithic'> {
16
+ readonly payloadType?: 'monolithic' | undefined;
17
+ readonly maxSize?: never;
18
+ }
19
+ export type InstancePayloadOptions<PayloadType extends InstancePayloadType = 'monolithic'> = {
20
+ chunked: ChunkedInstancePayloadOptions;
21
+ monolithic: MonolithicInstancePayloadOptions;
22
+ }[PayloadType];
23
+ export {};
@@ -0,0 +1,12 @@
1
+ export interface InstanceState {
2
+ /**
3
+ * Represents the serialized XML state of a given node. The value produced in
4
+ * {@link RootNode.instanceState} is the same serialization which will be
5
+ * produced for a complete instance.
6
+ *
7
+ * @todo Note that this particular aspect of the design doesn't yet address
8
+ * production of unique file names. As such, this may change as we introduce
9
+ * affected data types (and their supporting nodes).
10
+ */
11
+ get instanceXML(): string;
12
+ }
@@ -1,4 +1,4 @@
1
- export interface SubmissionDefinition {
1
+ export interface SubmissionMeta {
2
2
  /**
3
3
  * @see {@link https://getodk.github.io/xforms-spec/#submission-attributes | `action` submission attribute}
4
4
  */
@@ -1,6 +1,4 @@
1
1
  import { UnknownAppearanceDefinition } from '../../parse/body/appearance/unknownAppearanceParser.ts';
2
- import { RangeControlDefinition } from '../../parse/body/control/RangeControlDefinition.ts';
3
- import { RankControlDefinition } from '../../parse/body/control/RankControlDefinition.ts';
4
2
  import { UploadControlDefinition } from '../../parse/body/control/UploadControlDefinition.ts';
5
3
  import { LeafNodeDefinition } from '../../parse/model/LeafNodeDefinition.ts';
6
4
  import { BaseNode, BaseNodeState } from '../BaseNode.ts';
@@ -13,7 +11,7 @@ export interface UnsupportedControlNodeState extends BaseNodeState {
13
11
  get valueOptions(): unknown;
14
12
  get value(): unknown;
15
13
  }
16
- export type UnsupportedControlElementDefinition = RangeControlDefinition | RankControlDefinition | UploadControlDefinition;
14
+ export type UnsupportedControlElementDefinition = UploadControlDefinition;
17
15
  export interface UnsupportedControlDefinition extends LeafNodeDefinition {
18
16
  readonly bodyElement: UnsupportedControlElementDefinition;
19
17
  }
@@ -0,0 +1,20 @@
1
+ import { FormInstance as ClientFormInstance, FormInstanceInitializationMode } from '../client/form/FormInstance.ts';
2
+ import { FormInstanceConfig } from '../client/index.ts';
3
+ import { BasePrimaryInstanceOptions, PrimaryInstanceInitialState } from '../instance/PrimaryInstance.ts';
4
+ import { Root } from '../instance/Root.ts';
5
+ import { FormSuccessResult } from './FormResult/FormSuccessResult.ts';
6
+ import { FormWarningResult } from './FormResult/FormWarningResult.ts';
7
+ export type InstantiableFormResult = FormSuccessResult | FormWarningResult;
8
+ interface FormInstanceOptions<Mode extends FormInstanceInitializationMode> {
9
+ readonly mode: Mode;
10
+ readonly initialState: PrimaryInstanceInitialState<Mode>;
11
+ readonly instanceOptions: BasePrimaryInstanceOptions;
12
+ readonly instanceConfig: FormInstanceConfig;
13
+ }
14
+ export declare class FormInstance<Mode extends FormInstanceInitializationMode> implements ClientFormInstance<Mode> {
15
+ readonly formResult: InstantiableFormResult;
16
+ readonly mode: Mode;
17
+ readonly root: Root;
18
+ constructor(formResult: InstantiableFormResult, options: FormInstanceOptions<Mode>);
19
+ }
20
+ export {};
@@ -0,0 +1,22 @@
1
+ import { FormResultStatus, LoadFormFailureResult, LoadFormResult, LoadFormSuccessResult, LoadFormWarningResult } from '../../client/form/LoadFormResult.ts';
2
+ interface LoadFormResultByStatus {
3
+ readonly success: LoadFormSuccessResult;
4
+ readonly warning: LoadFormWarningResult;
5
+ readonly failure: LoadFormFailureResult;
6
+ }
7
+ export type BaseFormResultProperty<Status extends FormResultStatus, Key extends keyof LoadFormResult> = LoadFormResultByStatus[Status][Key];
8
+ export interface BaseFormResultOptions<Status extends FormResultStatus> {
9
+ readonly status: Status;
10
+ readonly warnings: BaseFormResultProperty<Status, 'warnings'>;
11
+ readonly error: BaseFormResultProperty<Status, 'error'>;
12
+ }
13
+ export declare abstract class BaseFormResult<Status extends FormResultStatus> {
14
+ readonly status: Status;
15
+ readonly warnings: BaseFormResultProperty<Status, 'warnings'>;
16
+ readonly error: BaseFormResultProperty<Status, 'error'>;
17
+ abstract readonly createInstance: BaseFormResultProperty<Status, 'createInstance'>;
18
+ abstract readonly editInstance: BaseFormResultProperty<Status, 'editInstance'>;
19
+ abstract readonly restoreInstance: BaseFormResultProperty<Status, 'restoreInstance'>;
20
+ constructor(options: BaseFormResultOptions<Status>);
21
+ }
22
+ export {};
@@ -0,0 +1,25 @@
1
+ import { CreateFormInstance } from '../../client/form/CreateFormInstance.ts';
2
+ import { EditFormInstance } from '../../client/form/EditFormInstance.ts';
3
+ import { RestoreFormInstance } from '../../client/form/RestoreFormInstance.ts';
4
+ import { BasePrimaryInstanceOptions } from '../../instance/PrimaryInstance.ts';
5
+ import { FormResource } from '../../instance/resource.ts';
6
+ import { ReactiveScope } from '../../lib/reactivity/scope.ts';
7
+ import { InstantiableFormResult } from '../FormInstance.ts';
8
+ import { BaseFormResultProperty, BaseFormResult } from './BaseFormResult.ts';
9
+ export type InstantiableFormResultStatus = 'success' | 'warning';
10
+ export interface BaseInstantiableFormResultOptions<Status extends InstantiableFormResultStatus> {
11
+ readonly status: Status;
12
+ readonly warnings: BaseFormResultProperty<Status, 'warnings'>;
13
+ readonly error: null;
14
+ readonly scope: ReactiveScope;
15
+ readonly formResource: FormResource;
16
+ readonly instanceOptions: BasePrimaryInstanceOptions;
17
+ }
18
+ export declare abstract class BaseInstantiableFormResult<Status extends InstantiableFormResultStatus> extends BaseFormResult<Status> {
19
+ readonly createInstance: CreateFormInstance;
20
+ readonly editInstance: EditFormInstance;
21
+ readonly restoreInstance: RestoreFormInstance;
22
+ constructor(options: BaseInstantiableFormResultOptions<Status>);
23
+ isInstantiable(): this is InstantiableFormResult;
24
+ assertInstantiable(): asserts this is InstantiableFormResult;
25
+ }
@@ -0,0 +1,17 @@
1
+ import { CreateFormInstance } from '../../client/form/CreateFormInstance.ts';
2
+ import { EditFormInstance } from '../../client/form/EditFormInstance.ts';
3
+ import { FailedLoadFormResultMethod, LoadFormFailureResult, LoadFormWarnings } from '../../client/form/LoadFormResult.ts';
4
+ import { RestoreFormInstance } from '../../client/form/RestoreFormInstance.ts';
5
+ import { LoadFormFailureError } from '../../error/LoadFormFailureError.ts';
6
+ import { BaseFormResult } from './BaseFormResult.ts';
7
+ interface FormFailureOptions {
8
+ readonly error: LoadFormFailureError;
9
+ readonly warnings: LoadFormWarnings | null;
10
+ }
11
+ export declare class FormFailureResult extends BaseFormResult<'failure'> implements LoadFormFailureResult {
12
+ readonly createInstance: FailedLoadFormResultMethod<CreateFormInstance>;
13
+ readonly editInstance: FailedLoadFormResultMethod<EditFormInstance>;
14
+ readonly restoreInstance: FailedLoadFormResultMethod<RestoreFormInstance>;
15
+ constructor(options: FormFailureOptions);
16
+ }
17
+ export {};
@@ -0,0 +1,15 @@
1
+ import { LoadFormSuccessResult } from '../../client/index.ts';
2
+ import { BasePrimaryInstanceOptions } from '../../instance/PrimaryInstance.ts';
3
+ import { FormResource } from '../../instance/resource.ts';
4
+ import { ReactiveScope } from '../../lib/reactivity/scope.ts';
5
+ import { BaseInstantiableFormResult } from './BaseInstantiableFormResult.ts';
6
+ export interface FormSuccessResultOptions {
7
+ readonly warnings: null;
8
+ readonly error: null;
9
+ readonly scope: ReactiveScope;
10
+ readonly formResource: FormResource;
11
+ readonly instanceOptions: BasePrimaryInstanceOptions;
12
+ }
13
+ export declare class FormSuccessResult extends BaseInstantiableFormResult<'success'> implements LoadFormSuccessResult {
14
+ constructor(options: FormSuccessResultOptions);
15
+ }
@@ -0,0 +1,15 @@
1
+ import { LoadFormWarningResult, LoadFormWarnings } from '../../client/form/LoadFormResult.ts';
2
+ import { BasePrimaryInstanceOptions } from '../../instance/PrimaryInstance.ts';
3
+ import { FormResource } from '../../instance/resource.ts';
4
+ import { ReactiveScope } from '../../lib/reactivity/scope.ts';
5
+ import { BaseInstantiableFormResult } from './BaseInstantiableFormResult.ts';
6
+ export interface FormWarningResultOptions {
7
+ readonly warnings: LoadFormWarnings;
8
+ readonly error: null;
9
+ readonly scope: ReactiveScope;
10
+ readonly formResource: FormResource;
11
+ readonly instanceOptions: BasePrimaryInstanceOptions;
12
+ }
13
+ export declare class FormWarningResult extends BaseInstantiableFormResult<'warning'> implements LoadFormWarningResult {
14
+ constructor(options: FormWarningResultOptions);
15
+ }
@@ -0,0 +1,9 @@
1
+ import { CreatedFormInstance } from '../client/form/CreateFormInstance.ts';
2
+ import { FormInstanceConfig } from '../client/form/FormInstanceConfig.ts';
3
+ import { LoadFormOptions } from '../client/form/LoadForm.ts';
4
+ import { FormResource } from '../instance/resource.ts';
5
+ export interface CreateInstanceOptions {
6
+ readonly form?: LoadFormOptions;
7
+ readonly instance?: FormInstanceConfig;
8
+ }
9
+ export declare const createInstance: (formResource: FormResource, options?: CreateInstanceOptions) => Promise<CreatedFormInstance>;
@@ -0,0 +1,9 @@
1
+ import { EditedFormInstance, EditFormInstanceInput } from '../client/form/EditFormInstance.ts';
2
+ import { FormInstanceConfig } from '../client/form/FormInstanceConfig.ts';
3
+ import { LoadFormOptions } from '../client/form/LoadForm.ts';
4
+ import { FormResource } from '../instance/resource.ts';
5
+ export interface EditInstanceOptions {
6
+ readonly form?: LoadFormOptions;
7
+ readonly instance?: FormInstanceConfig;
8
+ }
9
+ export declare const editInstance: (formResource: FormResource, input: EditFormInstanceInput, options?: EditInstanceOptions) => Promise<EditedFormInstance>;
@@ -0,0 +1,4 @@
1
+ export * from './createInstance.ts';
2
+ export * from './editInstance.ts';
3
+ export * from './loadForm.ts';
4
+ export * from './restoreInstance.ts';
@@ -0,0 +1,4 @@
1
+ import { FormResource } from '../client/form/FormResource.ts';
2
+ import { LoadFormOptions } from '../client/form/LoadForm.ts';
3
+ import { LoadFormResult } from '../client/form/LoadFormResult.ts';
4
+ export declare const loadForm: (formResource: FormResource, options?: LoadFormOptions) => Promise<LoadFormResult>;
@@ -0,0 +1,9 @@
1
+ import { FormInstanceConfig } from '../client/form/FormInstanceConfig.ts';
2
+ import { LoadFormOptions } from '../client/form/LoadForm.ts';
3
+ import { RestoredFormInstance, RestoreFormInstanceInput } from '../client/form/RestoreFormInstance.ts';
4
+ import { FormResource } from '../instance/resource.ts';
5
+ export interface RestoreInstanceOptions {
6
+ readonly form?: LoadFormOptions;
7
+ readonly instance?: FormInstanceConfig;
8
+ }
9
+ export declare const restoreInstance: (formResource: FormResource, input: RestoreFormInstanceInput, options?: RestoreInstanceOptions) => Promise<RestoredFormInstance>;
@@ -0,0 +1,9 @@
1
+ import { FormResource } from '../client/form/FormResource.ts';
2
+ /**
3
+ * @todo This is a placeholder class, given a name so it can be referenced in
4
+ * client interfaces for form loading. It is pending design of errors (broadly)
5
+ * and modeling of form loading errors (specifically).
6
+ */
7
+ export declare class LoadFormFailureError extends AggregateError {
8
+ constructor(resource: FormResource, errors: readonly Error[]);
9
+ }
@@ -0,0 +1,3 @@
1
+ import { ErrorProductionDesignPendingError } from './ErrorProductionDesignPendingError.ts';
2
+ export declare class MalformedInstanceDataError extends ErrorProductionDesignPendingError {
3
+ }
@@ -0,0 +1,3 @@
1
+ export declare class RankMissingValueError extends Error {
2
+ constructor(message: string);
3
+ }
@@ -0,0 +1,6 @@
1
+ import { XFormsSpecViolationError } from './XFormsSpecViolationError.ts';
2
+ import { RankDefinition } from '../client/RankNode.ts';
3
+ import { UnsupportedBaseItemValueType } from '../lib/codecs/items/BaseItemCodec.ts';
4
+ export declare class RankValueTypeError extends XFormsSpecViolationError {
5
+ constructor(definition: RankDefinition<UnsupportedBaseItemValueType>);
6
+ }
@@ -0,0 +1,15 @@
1
+ import { SelectDefinition } from '../client/SelectNode.ts';
2
+ import { UnsupportedBaseItemValueType } from '../lib/codecs/items/BaseItemCodec.ts';
3
+ import { XFormsSpecViolationError } from './XFormsSpecViolationError.ts';
4
+ /**
5
+ * @todo It would be good to have a standardized way to use specific types of
6
+ * errors as a prompt for feedback. There is currently a feedback link presented
7
+ * by `@getodk/web-forms`, which is conditionally displayed (condition is
8
+ * evidently controlled by a
9
+ * {@link https://vuejs.org/api/sfc-script-setup#defineoptions | Vue component option}).
10
+ *
11
+ * @see {@link https://github.com/getodk/web-forms/issues/276}
12
+ */
13
+ export declare class SelectValueTypeError extends XFormsSpecViolationError {
14
+ constructor(definition: SelectDefinition<UnsupportedBaseItemValueType>);
15
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * This error class is intended as a common point of reference for all of the
3
+ * related interfaces and implementation where we've deferred two concerns:
4
+ *
5
+ * 1. Support for attributes on instance nodes (which may be bound in a form's
6
+ * model and/or may be expected to preserve model-defined defaults)
7
+ * 2. Present lack of logic to treat a `jr:template` attribute as a special
8
+ * case: whereas in the general case we would expect to pass through a
9
+ * form/model-defined attribute, we expect to specifically **omit**
10
+ * `jr:template` from repeat instances derived from any of form's
11
+ * explicitly-defined repeat templates
12
+ *
13
+ * Addressing #1 is (now) a prerequisite to addressing #2, and it is also a
14
+ * prerequisite for #2's unaddressed status to _become meaningfully observable
15
+ * and problematic_.
16
+ *
17
+ * By introducing this error at a point where a change in #1's status is likely
18
+ * to be implicated, we're also likely to be reminded to address #2 in tandem.
19
+ */
20
+ export declare class TemplatedNodeAttributeSerializationError extends Error {
21
+ constructor();
22
+ }
@@ -0,0 +1,2 @@
1
+ export declare abstract class XFormsSpecViolationError extends Error {
2
+ }
package/dist/index.d.ts CHANGED
@@ -1,34 +1,2 @@
1
- import { InitializeForm } from './index.ts';
2
- export declare const initializeForm: InitializeForm;
3
- export type * from './client/constants.ts';
4
- export * as constants from './client/constants.ts';
5
- export type * from './client/EngineConfig.ts';
6
- export type * from './client/FormLanguage.ts';
7
- export type * from './client/GroupNode.ts';
8
- export type { AnyChildNode, AnyControlNode, AnyLeafNode, AnyNode, AnyParentNode, AnyUnsupportedControlNode, GeneralChildNode, GeneralParentNode, RepeatRangeNode, } from './client/hierarchy.ts';
9
- export type * from './client/index.ts';
10
- export type * from './client/InputNode.ts';
11
- export type * from './client/ModelValueNode.ts';
12
- export type * from './client/NoteNode.ts';
13
- export type * from './client/OpaqueReactiveObjectFactory.ts';
14
- export type * from './client/repeat/RepeatInstanceNode.ts';
15
- export type * from './client/repeat/RepeatRangeControlledNode.ts';
16
- export type * from './client/repeat/RepeatRangeUncontrolledNode.ts';
17
- export type * from './client/resources.ts';
18
- export type * from './client/RootNode.ts';
19
- export type * from './client/SelectNode.ts';
20
- export type * from './client/submission/SubmissionData.ts';
21
- export type * from './client/submission/SubmissionDefinition.ts';
22
- export type * from './client/submission/SubmissionInstanceFile.ts';
23
- export type * from './client/submission/SubmissionOptions.ts';
24
- export type * from './client/submission/SubmissionResult.ts';
25
- export type * from './client/submission/SubmissionState.ts';
26
- export type * from './client/SubtreeNode.ts';
27
- export type * from './client/TextRange.ts';
28
- export type * from './client/TriggerNode.ts';
29
- export type * from './client/unsupported/RangeNode.ts';
30
- export type * from './client/unsupported/RankNode.ts';
31
- export type * from './client/unsupported/UploadNode.ts';
32
- export type * from './client/validation.ts';
33
- export type * from './client/ValueType.ts';
34
- export type { AnySelectDefinition, SelectDefinition, } from './parse/body/control/select/SelectDefinition.ts';
1
+ export * from './client/index.ts';
2
+ export * from './entrypoints/index.ts';