@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.
- package/README.md +1 -1
- package/dist/client/BaseNode.d.ts +18 -3
- package/dist/client/BaseValueNode.d.ts +32 -0
- package/dist/client/EngineConfig.d.ts +49 -48
- package/dist/client/GroupNode.d.ts +1 -0
- package/dist/client/InputNode.d.ts +82 -0
- package/dist/client/ModelValueNode.d.ts +13 -7
- package/dist/client/NoteNode.d.ts +26 -9
- package/dist/client/RangeNode.d.ts +36 -0
- package/dist/client/RankNode.d.ts +46 -0
- package/dist/client/RootNode.d.ts +37 -7
- package/dist/client/SelectNode.d.ts +47 -25
- package/dist/client/SubtreeNode.d.ts +1 -0
- package/dist/client/TriggerNode.d.ts +10 -6
- package/dist/client/ValueType.d.ts +3 -0
- package/dist/client/constants.d.ts +50 -0
- package/dist/client/hierarchy.d.ts +8 -8
- package/dist/client/identity.d.ts +14 -0
- package/dist/client/node-types.d.ts +3 -2
- package/dist/client/resources.d.ts +93 -0
- package/dist/client/submission/SubmissionData.d.ts +7 -0
- package/dist/client/submission/SubmissionDefinition.d.ts +14 -0
- package/dist/client/submission/SubmissionInstanceFile.d.ts +6 -0
- package/dist/client/submission/SubmissionOptions.d.ts +23 -0
- package/dist/client/submission/SubmissionResult.d.ts +91 -0
- package/dist/client/submission/SubmissionState.d.ts +12 -0
- package/dist/client/unsupported/UnsupportedControlNode.d.ts +1 -3
- package/dist/client/validation.d.ts +2 -2
- package/dist/error/ErrorProductionDesignPendingError.d.ts +7 -0
- package/dist/error/RankMissingValueError.d.ts +3 -0
- package/dist/error/RankValueTypeError.d.ts +6 -0
- package/dist/error/SelectValueTypeError.d.ts +15 -0
- package/dist/error/ValueTypeInvariantError.d.ts +17 -0
- package/dist/error/XFormsSpecViolationError.d.ts +2 -0
- package/dist/error/XPathFunctionalityError.d.ts +14 -0
- package/dist/error/XPathFunctionalityNotSupportedError.d.ts +7 -0
- package/dist/error/XPathFunctionalityPendingError.d.ts +7 -0
- package/dist/index.d.ts +12 -4
- package/dist/index.js +17864 -14655
- package/dist/index.js.map +1 -1
- package/dist/instance/Group.d.ts +10 -4
- package/dist/instance/InputControl.d.ts +38 -0
- package/dist/instance/ModelValue.d.ts +17 -25
- package/dist/instance/Note.d.ts +16 -21
- package/dist/instance/PrimaryInstance.d.ts +85 -0
- package/dist/instance/RangeControl.d.ts +34 -0
- package/dist/instance/RankControl.d.ts +40 -0
- package/dist/instance/Root.d.ts +30 -25
- package/dist/instance/SelectControl.d.ts +66 -0
- package/dist/instance/Subtree.d.ts +11 -5
- package/dist/instance/TriggerControl.d.ts +13 -19
- package/dist/instance/abstract/DescendantNode.d.ts +32 -25
- package/dist/instance/abstract/InstanceNode.d.ts +52 -30
- package/dist/instance/abstract/UnsupportedControl.d.ts +11 -3
- package/dist/instance/abstract/ValueNode.d.ts +47 -0
- package/dist/instance/hierarchy.d.ts +13 -12
- package/dist/instance/identity.d.ts +2 -7
- package/dist/instance/internal-api/EvaluationContext.d.ts +53 -12
- package/dist/instance/internal-api/InstanceConfig.d.ts +8 -2
- package/dist/instance/internal-api/InstanceValueContext.d.ts +22 -0
- package/dist/instance/internal-api/PrimaryInstanceDocument.d.ts +36 -0
- package/dist/instance/internal-api/TranslationContext.d.ts +3 -2
- package/dist/instance/internal-api/ValidationContext.d.ts +3 -4
- package/dist/instance/internal-api/ValueContext.d.ts +2 -1
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableInstance.d.ts +14 -0
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableLeafNode.d.ts +32 -0
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableParentNode.d.ts +19 -0
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableValueNode.d.ts +18 -0
- package/dist/instance/repeat/BaseRepeatRange.d.ts +40 -83
- package/dist/instance/repeat/RepeatInstance.d.ts +12 -29
- package/dist/instance/repeat/RepeatRangeControlled.d.ts +2 -2
- package/dist/instance/repeat/RepeatRangeUncontrolled.d.ts +2 -2
- package/dist/instance/resource.d.ts +1 -1
- package/dist/instance/text/TextRange.d.ts +1 -1
- package/dist/instance/unsupported/UploadControl.d.ts +3 -1
- package/dist/integration/xpath/EngineXPathEvaluator.d.ts +14 -0
- package/dist/integration/xpath/adapter/XFormsXPathNode.d.ts +71 -0
- package/dist/integration/xpath/adapter/engineDOMAdapter.d.ts +5 -0
- package/dist/integration/xpath/adapter/kind.d.ts +32 -0
- package/dist/integration/xpath/adapter/names.d.ts +6 -0
- package/dist/integration/xpath/adapter/traversal.d.ts +26 -0
- package/dist/integration/xpath/adapter/values.d.ts +2 -0
- package/dist/integration/xpath/static-dom/StaticAttribute.d.ts +26 -0
- package/dist/integration/xpath/static-dom/StaticDocument.d.ts +15 -0
- package/dist/integration/xpath/static-dom/StaticElement.d.ts +48 -0
- package/dist/integration/xpath/static-dom/StaticNode.d.ts +33 -0
- package/dist/integration/xpath/static-dom/StaticText.d.ts +16 -0
- package/dist/lib/client-reactivity/submission/createInstanceSubmissionState.d.ts +3 -0
- package/dist/lib/client-reactivity/submission/createLeafNodeSubmissionState.d.ts +3 -0
- package/dist/lib/client-reactivity/submission/createNodeRangeSubmissionState.d.ts +4 -0
- package/dist/lib/client-reactivity/submission/createParentNodeSubmissionState.d.ts +4 -0
- package/dist/lib/client-reactivity/submission/createRootSubmissionState.d.ts +3 -0
- package/dist/lib/client-reactivity/submission/createValueNodeSubmissionState.d.ts +3 -0
- package/dist/lib/client-reactivity/submission/prepareSubmission.d.ts +8 -0
- package/dist/lib/codecs/DecimalValueCodec.d.ts +6 -0
- package/dist/lib/codecs/Geopoint/Geopoint.d.ts +48 -0
- package/dist/lib/codecs/Geopoint/GeopointValueCodec.d.ts +5 -0
- package/dist/lib/codecs/IntValueCodec.d.ts +6 -0
- package/dist/lib/codecs/NoteCodec.d.ts +8 -0
- package/dist/lib/codecs/RangeCodec.d.ts +8 -0
- package/dist/lib/codecs/StringValueCodec.d.ts +4 -0
- package/dist/lib/codecs/TriggerCodec.d.ts +7 -0
- package/dist/lib/codecs/ValueArrayCodec.d.ts +11 -0
- package/dist/lib/codecs/ValueCodec.d.ts +30 -0
- package/dist/lib/codecs/ValueTypePlaceholderCodec.d.ts +12 -0
- package/dist/lib/codecs/getNoteCodec.d.ts +3 -0
- package/dist/lib/codecs/getSelectCodec.d.ts +5 -0
- package/dist/lib/codecs/getSharedValueCodec.d.ts +48 -0
- package/dist/lib/codecs/items/BaseItemCodec.d.ts +9 -0
- package/dist/lib/codecs/items/MultipleValueItemCodec.d.ts +14 -0
- package/dist/lib/codecs/items/SingleValueItemCodec.d.ts +24 -0
- package/dist/lib/dom/query.d.ts +4 -2
- package/dist/lib/names/NamespaceDeclaration.d.ts +45 -0
- package/dist/lib/names/NamespaceDeclarationMap.d.ts +137 -0
- package/dist/lib/names/NamespaceURL.d.ts +30 -0
- package/dist/lib/names/QualifiedName.d.ts +113 -0
- package/dist/lib/number-parsers.d.ts +2 -0
- package/dist/lib/reactivity/createChildrenState.d.ts +7 -5
- package/dist/lib/reactivity/createComputedExpression.d.ts +18 -5
- package/dist/lib/reactivity/createInstanceValueState.d.ts +40 -0
- package/dist/lib/reactivity/createItemCollection.d.ts +21 -0
- package/dist/lib/reactivity/createNoteReadonlyThunk.d.ts +2 -2
- package/dist/lib/reactivity/createTranslationState.d.ts +19 -0
- package/dist/lib/reactivity/createValueState.d.ts +6 -10
- package/dist/lib/reactivity/materializeCurrentStateChildren.d.ts +4 -4
- package/dist/lib/xml-serialization.d.ts +50 -0
- package/dist/parse/XFormDOM.d.ts +18 -7
- package/dist/parse/XFormDefinition.d.ts +1 -2
- package/dist/parse/attachments/FormAttachmentResource.d.ts +27 -0
- package/dist/parse/body/BodyDefinition.d.ts +4 -4
- package/dist/parse/body/RepeatElementDefinition.d.ts +1 -1
- package/dist/parse/body/appearance/inputAppearanceParser.d.ts +1 -1
- package/dist/parse/body/appearance/rangeAppearanceParser.d.ts +3 -0
- package/dist/parse/body/control/{InputDefinition.d.ts → InputControlDefinition.d.ts} +4 -1
- package/dist/parse/body/control/ItemDefinition.d.ts +14 -0
- package/dist/parse/body/control/ItemsetDefinition.d.ts +18 -0
- package/dist/parse/body/control/RangeControlDefinition.d.ts +31 -2
- package/dist/parse/body/control/RankControlDefinition.d.ts +7 -3
- package/dist/parse/body/control/{select/SelectDefinition.d.ts → SelectControlDefinition.d.ts} +9 -9
- package/dist/parse/expression/ItemsetNodesetExpression.d.ts +1 -1
- package/dist/parse/expression/ItemsetValueExpression.d.ts +1 -1
- package/dist/parse/expression/abstract/DependencyContext.d.ts +0 -5
- package/dist/parse/expression/abstract/DependentExpression.d.ts +2 -3
- package/dist/parse/model/BindDefinition.d.ts +6 -5
- package/dist/parse/model/BindPreloadDefinition.d.ts +42 -0
- package/dist/parse/model/BindTypeDefinition.d.ts +20 -0
- package/dist/parse/model/DescendentNodeDefinition.d.ts +4 -14
- package/dist/parse/model/FormSubmissionDefinition.d.ts +8 -0
- package/dist/parse/model/ItextTranslation/ItextTranslationDefinition.d.ts +4 -0
- package/dist/parse/model/ItextTranslation/ItextTranslationRootDefinition.d.ts +9 -0
- package/dist/parse/model/ItextTranslation/ItextTranslationsDefinition.d.ts +8 -0
- package/dist/parse/model/LeafNodeDefinition.d.ts +9 -4
- package/dist/parse/model/ModelBindMap.d.ts +1 -1
- package/dist/parse/model/ModelDefinition.d.ts +2 -0
- package/dist/parse/model/NodeDefinition.d.ts +16 -20
- package/dist/parse/model/NoteNodeDefinition.d.ts +9 -8
- package/dist/parse/model/RangeNodeDefinition.d.ts +41 -0
- package/dist/parse/model/RepeatInstanceDefinition.d.ts +7 -4
- package/dist/parse/model/RepeatRangeDefinition.d.ts +7 -4
- package/dist/parse/model/RepeatTemplateDefinition.d.ts +7 -4
- package/dist/parse/model/RootAttributeDefinition.d.ts +24 -0
- package/dist/parse/model/RootAttributeMap.d.ts +23 -0
- package/dist/parse/model/RootDefinition.d.ts +12 -9
- package/dist/parse/model/SecondaryInstance/SecondaryInstanceDefinition.d.ts +4 -0
- package/dist/parse/model/SecondaryInstance/SecondaryInstanceRootDefinition.d.ts +7 -0
- package/dist/parse/model/SecondaryInstance/SecondaryInstancesDefinition.d.ts +13 -0
- package/dist/parse/model/SecondaryInstance/sources/BlankSecondaryInstanceSource.d.ts +14 -0
- package/dist/parse/model/SecondaryInstance/sources/CSVExternalSecondaryInstance.d.ts +22 -0
- package/dist/parse/model/SecondaryInstance/sources/ExternalSecondaryInstanceResource.d.ts +23 -0
- package/dist/parse/model/SecondaryInstance/sources/ExternalSecondaryInstanceSource.d.ts +9 -0
- package/dist/parse/model/SecondaryInstance/sources/GeoJSONExternalSecondaryInstance.d.ts +5 -0
- package/dist/parse/model/SecondaryInstance/sources/InternalSecondaryInstanceSource.d.ts +7 -0
- package/dist/parse/model/SecondaryInstance/sources/SecondaryInstanceSource.d.ts +13 -0
- package/dist/parse/model/SecondaryInstance/sources/XMLExternalSecondaryInstanceSource.d.ts +12 -0
- package/dist/parse/model/SubtreeDefinition.d.ts +7 -4
- package/dist/parse/shared/parseStaticDocumentFromDOMSubtree.d.ts +23 -0
- package/dist/parse/text/ItemLabelDefinition.d.ts +1 -1
- package/dist/parse/text/ItemsetLabelDefinition.d.ts +2 -2
- package/dist/parse/text/abstract/TextElementDefinition.d.ts +1 -1
- package/dist/parse/text/abstract/TextRangeDefinition.d.ts +0 -2
- package/dist/parse/xpath/semantic-analysis.d.ts +6 -3
- package/dist/solid.js +15437 -12246
- package/dist/solid.js.map +1 -1
- package/package.json +18 -13
- package/src/client/BaseNode.ts +21 -6
- package/src/client/BaseValueNode.ts +35 -0
- package/src/client/EngineConfig.ts +52 -51
- package/src/client/GroupNode.ts +1 -0
- package/src/client/InputNode.ts +113 -0
- package/src/client/ModelValueNode.ts +31 -7
- package/src/client/NoteNode.ts +45 -9
- package/src/client/RangeNode.ts +51 -0
- package/src/client/RankNode.ts +54 -0
- package/src/client/RootNode.ts +43 -7
- package/src/client/SelectNode.ts +53 -26
- package/src/client/SubtreeNode.ts +1 -0
- package/src/client/TriggerNode.ts +12 -6
- package/src/client/ValueType.ts +4 -0
- package/src/client/constants.ts +67 -0
- package/src/client/hierarchy.ts +12 -13
- package/src/client/identity.ts +16 -0
- package/src/client/node-types.ts +13 -7
- package/src/client/resources.ts +118 -0
- package/src/client/submission/SubmissionData.ts +12 -0
- package/src/client/submission/SubmissionDefinition.ts +16 -0
- package/src/client/submission/SubmissionInstanceFile.ts +9 -0
- package/src/client/submission/SubmissionOptions.ts +28 -0
- package/src/client/submission/SubmissionResult.ts +124 -0
- package/src/client/submission/SubmissionState.ts +14 -0
- package/src/client/unsupported/UnsupportedControlNode.ts +2 -6
- package/src/client/validation.ts +2 -2
- package/src/error/ErrorProductionDesignPendingError.ts +6 -0
- package/src/error/RankMissingValueError.ts +5 -0
- package/src/error/RankValueTypeError.ts +13 -0
- package/src/error/SelectValueTypeError.ts +22 -0
- package/src/error/ValueTypeInvariantError.ts +22 -0
- package/src/error/XFormsSpecViolationError.ts +1 -0
- package/src/error/XPathFunctionalityError.ts +26 -0
- package/src/error/XPathFunctionalityNotSupportedError.ts +18 -0
- package/src/error/XPathFunctionalityPendingError.ts +18 -0
- package/src/index.ts +12 -13
- package/src/instance/Group.ts +18 -5
- package/src/instance/InputControl.ts +159 -0
- package/src/instance/ModelValue.ts +48 -53
- package/src/instance/Note.ts +40 -49
- package/src/instance/PrimaryInstance.ts +245 -0
- package/src/instance/RangeControl.ts +113 -0
- package/src/instance/RankControl.ts +199 -0
- package/src/instance/Root.ts +63 -134
- package/src/instance/SelectControl.ts +219 -0
- package/src/instance/Subtree.ts +20 -7
- package/src/instance/TriggerControl.ts +44 -66
- package/src/instance/abstract/DescendantNode.ts +91 -51
- package/src/instance/abstract/InstanceNode.ts +113 -107
- package/src/instance/abstract/UnsupportedControl.ts +29 -5
- package/src/instance/abstract/ValueNode.ts +128 -0
- package/src/instance/children.ts +80 -40
- package/src/instance/hierarchy.ts +39 -30
- package/src/instance/identity.ts +3 -9
- package/src/instance/index.ts +25 -7
- package/src/instance/internal-api/EvaluationContext.ts +60 -13
- package/src/instance/internal-api/InstanceConfig.ts +9 -2
- package/src/instance/internal-api/InstanceValueContext.ts +26 -0
- package/src/instance/internal-api/PrimaryInstanceDocument.ts +53 -0
- package/src/instance/internal-api/TranslationContext.ts +3 -2
- package/src/instance/internal-api/ValidationContext.ts +3 -4
- package/src/instance/internal-api/ValueContext.ts +2 -1
- package/src/instance/internal-api/submission/ClientReactiveSubmittableInstance.ts +20 -0
- package/src/instance/internal-api/submission/ClientReactiveSubmittableLeafNode.ts +43 -0
- package/src/instance/internal-api/submission/ClientReactiveSubmittableParentNode.ts +26 -0
- package/src/instance/internal-api/submission/ClientReactiveSubmittableValueNode.ts +24 -0
- package/src/instance/repeat/BaseRepeatRange.ts +52 -131
- package/src/instance/repeat/RepeatInstance.ts +21 -46
- package/src/instance/repeat/RepeatRangeControlled.ts +5 -5
- package/src/instance/repeat/RepeatRangeUncontrolled.ts +2 -4
- package/src/instance/resource.ts +5 -2
- package/src/instance/text/TextChunk.ts +1 -1
- package/src/instance/unsupported/UploadControl.ts +5 -1
- package/src/integration/xpath/EngineXPathEvaluator.ts +22 -0
- package/src/integration/xpath/adapter/XFormsXPathNode.ts +126 -0
- package/src/integration/xpath/adapter/engineDOMAdapter.ts +57 -0
- package/src/integration/xpath/adapter/kind.ts +114 -0
- package/src/integration/xpath/adapter/names.ts +148 -0
- package/src/integration/xpath/adapter/traversal.ts +229 -0
- package/src/integration/xpath/adapter/values.ts +5 -0
- package/src/integration/xpath/static-dom/StaticAttribute.ts +41 -0
- package/src/integration/xpath/static-dom/StaticDocument.ts +36 -0
- package/src/integration/xpath/static-dom/StaticElement.ts +119 -0
- package/src/integration/xpath/static-dom/StaticNode.ts +68 -0
- package/src/integration/xpath/static-dom/StaticText.ts +28 -0
- package/src/lib/client-reactivity/README.md +0 -0
- package/src/lib/client-reactivity/submission/createInstanceSubmissionState.ts +12 -0
- package/src/lib/client-reactivity/submission/createLeafNodeSubmissionState.ts +20 -0
- package/src/lib/client-reactivity/submission/createNodeRangeSubmissionState.ts +17 -0
- package/src/lib/client-reactivity/submission/createParentNodeSubmissionState.ts +22 -0
- package/src/lib/client-reactivity/submission/createRootSubmissionState.ts +19 -0
- package/src/lib/client-reactivity/submission/createValueNodeSubmissionState.ts +21 -0
- package/src/lib/client-reactivity/submission/prepareSubmission.ts +172 -0
- package/src/lib/codecs/DecimalValueCodec.ts +46 -0
- package/src/lib/codecs/Geopoint/Geopoint.ts +150 -0
- package/src/lib/codecs/Geopoint/GeopointValueCodec.ts +20 -0
- package/src/lib/codecs/IntValueCodec.ts +100 -0
- package/src/lib/codecs/NoteCodec.ts +32 -0
- package/src/lib/codecs/RangeCodec.ts +65 -0
- package/src/lib/codecs/StringValueCodec.ts +11 -0
- package/src/lib/codecs/TriggerCodec.ts +64 -0
- package/src/lib/codecs/ValueArrayCodec.ts +42 -0
- package/src/lib/codecs/ValueCodec.ts +106 -0
- package/src/lib/codecs/ValueTypePlaceholderCodec.ts +19 -0
- package/src/lib/codecs/getNoteCodec.ts +27 -0
- package/src/lib/codecs/getSelectCodec.ts +27 -0
- package/src/lib/codecs/getSharedValueCodec.ts +79 -0
- package/src/lib/codecs/items/BaseItemCodec.ts +20 -0
- package/src/lib/codecs/items/MultipleValueItemCodec.ts +28 -0
- package/src/lib/codecs/items/SingleValueItemCodec.ts +67 -0
- package/src/lib/dom/query.ts +8 -2
- package/src/lib/names/NamespaceDeclaration.ts +106 -0
- package/src/lib/names/NamespaceDeclarationMap.ts +228 -0
- package/src/lib/names/NamespaceURL.ts +44 -0
- package/src/lib/names/QualifiedName.ts +170 -0
- package/src/lib/number-parsers.ts +25 -0
- package/src/lib/reactivity/createChildrenState.ts +8 -6
- package/src/lib/reactivity/createComputedExpression.ts +57 -34
- package/src/lib/reactivity/createInstanceValueState.ts +216 -0
- package/src/lib/reactivity/createItemCollection.ts +173 -0
- package/src/lib/reactivity/createNoteReadonlyThunk.ts +12 -7
- package/src/lib/reactivity/createTranslationState.ts +61 -0
- package/src/lib/reactivity/createValueState.ts +62 -120
- package/src/lib/reactivity/materializeCurrentStateChildren.ts +7 -7
- package/src/lib/reactivity/text/createTextRange.ts +4 -3
- package/src/lib/reactivity/validation/createAggregatedViolations.ts +1 -1
- package/src/lib/reactivity/validation/createValidation.ts +2 -3
- package/src/lib/xml-serialization.ts +163 -0
- package/src/parse/XFormDOM.ts +231 -76
- package/src/parse/XFormDefinition.ts +2 -10
- package/src/parse/attachments/FormAttachmentResource.ts +40 -0
- package/src/parse/body/BodyDefinition.ts +7 -7
- package/src/parse/body/appearance/inputAppearanceParser.ts +1 -1
- package/src/parse/body/appearance/rangeAppearanceParser.ts +11 -0
- package/src/parse/body/control/InputControlDefinition.ts +29 -0
- package/src/parse/body/control/{select/ItemDefinition.ts → ItemDefinition.ts} +8 -6
- package/src/parse/body/control/{select/ItemsetDefinition.ts → ItemsetDefinition.ts} +11 -9
- package/src/parse/body/control/RangeControlDefinition.ts +91 -6
- package/src/parse/body/control/RankControlDefinition.ts +25 -7
- package/src/parse/body/control/{select/SelectDefinition.ts → SelectControlDefinition.ts} +9 -9
- package/src/parse/expression/ItemsetNodesetExpression.ts +1 -1
- package/src/parse/expression/ItemsetValueExpression.ts +1 -1
- package/src/parse/expression/abstract/DependencyContext.ts +0 -26
- package/src/parse/expression/abstract/DependentExpression.ts +2 -13
- package/src/parse/model/BindDefinition.ts +9 -8
- package/src/parse/model/BindPreloadDefinition.ts +100 -0
- package/src/parse/model/BindTypeDefinition.ts +175 -0
- package/src/parse/model/DescendentNodeDefinition.ts +7 -31
- package/src/parse/model/FormSubmissionDefinition.ts +44 -0
- package/src/parse/model/ItextTranslation/ItextTranslationDefinition.ts +4 -0
- package/src/parse/model/ItextTranslation/ItextTranslationRootDefinition.ts +42 -0
- package/src/parse/model/ItextTranslation/ItextTranslationsDefinition.ts +31 -0
- package/src/parse/model/LeafNodeDefinition.ts +15 -5
- package/src/parse/model/ModelBindMap.ts +6 -8
- package/src/parse/model/ModelDefinition.ts +6 -1
- package/src/parse/model/NodeDefinition.ts +24 -48
- package/src/parse/model/NoteNodeDefinition.ts +11 -10
- package/src/parse/model/RangeNodeDefinition.ts +118 -0
- package/src/parse/model/RepeatInstanceDefinition.ts +11 -7
- package/src/parse/model/RepeatRangeDefinition.ts +11 -7
- package/src/parse/model/RepeatTemplateDefinition.ts +11 -7
- package/src/parse/model/RootAttributeDefinition.ts +45 -0
- package/src/parse/model/RootAttributeMap.ts +44 -0
- package/src/parse/model/RootDefinition.ts +31 -29
- package/src/parse/model/SecondaryInstance/SecondaryInstanceDefinition.ts +4 -0
- package/src/parse/model/SecondaryInstance/SecondaryInstanceRootDefinition.ts +12 -0
- package/src/parse/model/SecondaryInstance/SecondaryInstancesDefinition.ts +102 -0
- package/src/parse/model/SecondaryInstance/sources/BlankSecondaryInstanceSource.ts +40 -0
- package/src/parse/model/SecondaryInstance/sources/CSVExternalSecondaryInstance.ts +288 -0
- package/src/parse/model/SecondaryInstance/sources/ExternalSecondaryInstanceResource.ts +222 -0
- package/src/parse/model/SecondaryInstance/sources/ExternalSecondaryInstanceSource.ts +22 -0
- package/src/parse/model/SecondaryInstance/sources/GeoJSONExternalSecondaryInstance.ts +415 -0
- package/src/parse/model/SecondaryInstance/sources/InternalSecondaryInstanceSource.ts +19 -0
- package/src/parse/model/SecondaryInstance/sources/SecondaryInstanceSource.ts +29 -0
- package/src/parse/model/SecondaryInstance/sources/XMLExternalSecondaryInstanceSource.ts +32 -0
- package/src/parse/model/SubtreeDefinition.ts +12 -12
- package/src/parse/shared/parseStaticDocumentFromDOMSubtree.ts +149 -0
- package/src/parse/text/ItemLabelDefinition.ts +1 -1
- package/src/parse/text/ItemsetLabelDefinition.ts +2 -2
- package/src/parse/text/abstract/TextElementDefinition.ts +1 -1
- package/src/parse/text/abstract/TextRangeDefinition.ts +0 -6
- package/src/parse/xpath/semantic-analysis.ts +33 -3
- package/dist/client/StringNode.d.ts +0 -46
- package/dist/client/unsupported/RangeNode.d.ts +0 -9
- package/dist/client/unsupported/RankNode.d.ts +0 -9
- package/dist/instance/SelectField.d.ts +0 -50
- package/dist/instance/StringField.d.ts +0 -44
- package/dist/instance/internal-api/SubscribableDependency.d.ts +0 -59
- package/dist/instance/unsupported/RangeControl.d.ts +0 -4
- package/dist/instance/unsupported/RankControl.d.ts +0 -4
- package/dist/lib/reactivity/createSelectItems.d.ts +0 -16
- package/dist/parse/XFormDataType.d.ts +0 -25
- package/dist/parse/body/control/select/ItemDefinition.d.ts +0 -13
- package/dist/parse/body/control/select/ItemsetDefinition.d.ts +0 -17
- package/dist/parse/body/control/select/ItemsetNodesetContext.d.ts +0 -11
- package/src/client/StringNode.ts +0 -52
- package/src/client/unsupported/RangeNode.ts +0 -14
- package/src/client/unsupported/RankNode.ts +0 -14
- package/src/instance/SelectField.ts +0 -226
- package/src/instance/StringField.ts +0 -120
- package/src/instance/internal-api/SubscribableDependency.ts +0 -61
- package/src/instance/unsupported/RangeControl.ts +0 -5
- package/src/instance/unsupported/RankControl.ts +0 -5
- package/src/lib/reactivity/createSelectItems.ts +0 -168
- package/src/parse/XFormDataType.ts +0 -62
- package/src/parse/body/control/InputDefinition.ts +0 -22
- package/src/parse/body/control/select/ItemsetNodesetContext.ts +0 -26
|
@@ -1,26 +1,29 @@
|
|
|
1
|
+
import { NamespaceDeclarationMap } from '../../lib/names/NamespaceDeclarationMap.ts';
|
|
2
|
+
import { QualifiedName } from '../../lib/names/QualifiedName.ts';
|
|
1
3
|
import { BodyClassList } from '../body/BodyDefinition.ts';
|
|
2
4
|
import { XFormDefinition } from '../XFormDefinition.ts';
|
|
3
|
-
import {
|
|
5
|
+
import { FormSubmissionDefinition } from './FormSubmissionDefinition.ts';
|
|
4
6
|
import { ModelDefinition } from './ModelDefinition.ts';
|
|
5
|
-
import { ChildNodeDefinition,
|
|
6
|
-
|
|
7
|
+
import { ChildNodeDefinition, ParentNodeDefinition, NodeDefinition } from './NodeDefinition.ts';
|
|
8
|
+
import { RootAttributeMap } from './RootAttributeMap.ts';
|
|
9
|
+
export declare class RootDefinition extends NodeDefinition<'root'> {
|
|
7
10
|
protected readonly form: XFormDefinition;
|
|
8
11
|
protected readonly model: ModelDefinition;
|
|
12
|
+
readonly submission: FormSubmissionDefinition;
|
|
9
13
|
readonly classes: BodyClassList;
|
|
10
14
|
readonly type = "root";
|
|
11
|
-
readonly
|
|
12
|
-
readonly nodeset: string;
|
|
13
|
-
readonly nodeName: string;
|
|
15
|
+
readonly qualifiedName: QualifiedName;
|
|
14
16
|
readonly bodyElement: null;
|
|
15
17
|
readonly root: this;
|
|
16
18
|
readonly parent: null;
|
|
19
|
+
readonly namespaceDeclarations: NamespaceDeclarationMap;
|
|
20
|
+
readonly attributes: RootAttributeMap;
|
|
17
21
|
readonly children: readonly ChildNodeDefinition[];
|
|
18
22
|
readonly instances: null;
|
|
19
23
|
readonly node: Element;
|
|
20
24
|
readonly defaultValue: null;
|
|
21
25
|
readonly isTranslated = false;
|
|
22
|
-
|
|
23
|
-
constructor(form: XFormDefinition, model: ModelDefinition, classes: BodyClassList);
|
|
26
|
+
constructor(form: XFormDefinition, model: ModelDefinition, submission: FormSubmissionDefinition, classes: BodyClassList);
|
|
24
27
|
buildSubtree(parent: ParentNodeDefinition): readonly ChildNodeDefinition[];
|
|
25
|
-
toJSON(): Omit<this, "form" | "
|
|
28
|
+
toJSON(): Omit<this, "form" | "bind" | "model" | "toJSON" | "root" | "bodyElement" | "buildSubtree">;
|
|
26
29
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { StaticDocument } from '../../../integration/xpath/static-dom/StaticDocument.ts';
|
|
2
|
+
import { SecondaryInstanceRootDefinition } from './SecondaryInstanceRootDefinition.ts';
|
|
3
|
+
export declare class SecondaryInstanceDefinition extends StaticDocument<SecondaryInstanceRootDefinition> {
|
|
4
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { XFormsSecondaryInstanceElement, XFORMS_KNOWN_ATTRIBUTE, XFORMS_LOCAL_NAME } from '@getodk/xpath';
|
|
2
|
+
import { StaticElement } from '../../../integration/xpath/static-dom/StaticElement.ts';
|
|
3
|
+
import { SecondaryInstanceDefinition } from './SecondaryInstanceDefinition.ts';
|
|
4
|
+
export declare class SecondaryInstanceRootDefinition extends StaticElement<SecondaryInstanceDefinition> implements XFormsSecondaryInstanceElement<StaticElement> {
|
|
5
|
+
readonly [XFORMS_LOCAL_NAME] = "instance";
|
|
6
|
+
readonly [XFORMS_KNOWN_ATTRIBUTE] = "id";
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { XFormsSecondaryInstanceMap } from '@getodk/xpath';
|
|
2
|
+
import { EngineXPathNode } from '../../../integration/xpath/adapter/kind.ts';
|
|
3
|
+
import { XFormDOM } from '../../XFormDOM.ts';
|
|
4
|
+
import { SecondaryInstanceRootDefinition } from './SecondaryInstanceRootDefinition.ts';
|
|
5
|
+
import { ExternalSecondaryInstanceResourceLoadOptions } from './sources/ExternalSecondaryInstanceResource.ts';
|
|
6
|
+
export declare class SecondaryInstancesDefinition extends Map<string, SecondaryInstanceRootDefinition> implements XFormsSecondaryInstanceMap<EngineXPathNode> {
|
|
7
|
+
/**
|
|
8
|
+
* @package Only to be used for testing
|
|
9
|
+
*/
|
|
10
|
+
static loadSync(xformDOM: XFormDOM): SecondaryInstancesDefinition;
|
|
11
|
+
static load(xformDOM: XFormDOM, options: ExternalSecondaryInstanceResourceLoadOptions): Promise<SecondaryInstancesDefinition>;
|
|
12
|
+
private constructor();
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { JRResourceURL } from '../../../../../../common/src/jr-resources/JRResourceURL.ts';
|
|
2
|
+
import { DOMSecondaryInstanceElement } from '../../../XFormDOM.ts';
|
|
3
|
+
import { SecondaryInstanceDefinition } from '../SecondaryInstanceDefinition.ts';
|
|
4
|
+
import { SecondaryInstanceSource } from './SecondaryInstanceSource.ts';
|
|
5
|
+
export declare class BlankSecondaryInstanceSource extends SecondaryInstanceSource<'blank'> {
|
|
6
|
+
constructor(instanceId: string, resourceURL: JRResourceURL, domElement: DOMSecondaryInstanceElement);
|
|
7
|
+
/**
|
|
8
|
+
* @todo there is really no sense in using the DOM for this, other than it was
|
|
9
|
+
* quicker/more ergonomic than constructing the requisite {@link StaticNode}
|
|
10
|
+
* structures directly. Pretty good sign those constructor signatures could
|
|
11
|
+
* use some TLC!
|
|
12
|
+
*/
|
|
13
|
+
parseDefinition(): SecondaryInstanceDefinition;
|
|
14
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SecondaryInstanceDefinition } from '../SecondaryInstanceDefinition.ts';
|
|
2
|
+
import { ExternalSecondaryInstanceSource } from './ExternalSecondaryInstanceSource.ts';
|
|
3
|
+
export declare class CSVExternalSecondaryInstanceSource extends ExternalSecondaryInstanceSource<'csv'> {
|
|
4
|
+
/**
|
|
5
|
+
* Based on
|
|
6
|
+
* {@link https://github.com/getodk/central-frontend/blob/42c9277709e593480d1462e28b4be5f1364532b7/src/util/csv.js#L79} (and {@link https://github.com/getodk/central-frontend/blob/42c9277709e593480d1462e28b4be5f1364532b7/src/util/csv.js#L13}).
|
|
7
|
+
*
|
|
8
|
+
* The most significant deviations at time of writing:
|
|
9
|
+
*
|
|
10
|
+
* - we have already retrieved the CSV resource, so we are parsing the raw CSV data directly.
|
|
11
|
+
* - we have no need for asynchronous/streaming parsing at this point in the
|
|
12
|
+
* form initialization process, so we can dispense with those details of the
|
|
13
|
+
* {@link papa | papaparse} API/config.
|
|
14
|
+
*/
|
|
15
|
+
private parseCSVHeader;
|
|
16
|
+
/**
|
|
17
|
+
* Largely based on {@link https://github.com/getodk/central-frontend/blob/42c9277709e593480d1462e28b4be5f1364532b7/src/util/csv.js#L170}
|
|
18
|
+
*/
|
|
19
|
+
private parseCSVRows;
|
|
20
|
+
private toItems;
|
|
21
|
+
parseDefinition(): SecondaryInstanceDefinition;
|
|
22
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { JRResourceURL } from '../../../../../../common/src/jr-resources/JRResourceURL.ts';
|
|
2
|
+
import { MissingResourceBehavior } from '../../../../client/constants.ts';
|
|
3
|
+
import { FetchResource } from '../../../../client/resources.ts';
|
|
4
|
+
import { FormAttachmentResource } from '../../../attachments/FormAttachmentResource.ts';
|
|
5
|
+
import { ExternalSecondaryInstanceSourceFormat } from './SecondaryInstanceSource.ts';
|
|
6
|
+
export interface ExternalSecondaryInstanceResourceLoadOptions {
|
|
7
|
+
readonly fetchResource: FetchResource<JRResourceURL>;
|
|
8
|
+
readonly missingResourceBehavior: MissingResourceBehavior;
|
|
9
|
+
}
|
|
10
|
+
type LoadedExternalSecondaryInstanceResource = {
|
|
11
|
+
[Format in ExternalSecondaryInstanceSourceFormat]: ExternalSecondaryInstanceResource<Format>;
|
|
12
|
+
}[ExternalSecondaryInstanceSourceFormat];
|
|
13
|
+
export declare class ExternalSecondaryInstanceResource<Format extends ExternalSecondaryInstanceSourceFormat = ExternalSecondaryInstanceSourceFormat> extends FormAttachmentResource<'secondary-instance'> {
|
|
14
|
+
readonly responseStatus: number | null;
|
|
15
|
+
readonly instanceId: string;
|
|
16
|
+
private static isMissingResource;
|
|
17
|
+
private static createBlankResource;
|
|
18
|
+
static load(instanceId: string, resourceURL: JRResourceURL, options: ExternalSecondaryInstanceResourceLoadOptions): Promise<LoadedExternalSecondaryInstanceResource>;
|
|
19
|
+
readonly format: Format;
|
|
20
|
+
readonly isBlank: boolean;
|
|
21
|
+
private constructor();
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { JRResourceURL } from '../../../../../../common/src/jr-resources/JRResourceURL.ts';
|
|
2
|
+
import { DOMSecondaryInstanceElement } from '../../../XFormDOM.ts';
|
|
3
|
+
import { ExternalSecondaryInstanceResource } from './ExternalSecondaryInstanceResource.ts';
|
|
4
|
+
import { ExternalSecondaryInstanceSourceFormat, SecondaryInstanceSource } from './SecondaryInstanceSource.ts';
|
|
5
|
+
export declare abstract class ExternalSecondaryInstanceSource<Format extends ExternalSecondaryInstanceSourceFormat = ExternalSecondaryInstanceSourceFormat> extends SecondaryInstanceSource<Format> {
|
|
6
|
+
protected readonly resource: ExternalSecondaryInstanceResource<Format>;
|
|
7
|
+
readonly resourceURL: JRResourceURL;
|
|
8
|
+
constructor(domElement: DOMSecondaryInstanceElement, resource: ExternalSecondaryInstanceResource<Format>);
|
|
9
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SecondaryInstanceDefinition } from '../SecondaryInstanceDefinition.ts';
|
|
2
|
+
import { ExternalSecondaryInstanceSource } from './ExternalSecondaryInstanceSource.ts';
|
|
3
|
+
export declare class GeoJSONExternalSecondaryInstanceSource extends ExternalSecondaryInstanceSource<'geojson'> {
|
|
4
|
+
parseDefinition(): SecondaryInstanceDefinition;
|
|
5
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DOMSecondaryInstanceElement } from '../../../XFormDOM.ts';
|
|
2
|
+
import { SecondaryInstanceDefinition } from '../SecondaryInstanceDefinition.ts';
|
|
3
|
+
import { SecondaryInstanceSource } from './SecondaryInstanceSource.ts';
|
|
4
|
+
export declare class InternalSecondaryInstanceSource extends SecondaryInstanceSource<'internal'> {
|
|
5
|
+
constructor(instanceId: string, resourceURL: null, domElement: DOMSecondaryInstanceElement);
|
|
6
|
+
parseDefinition(): SecondaryInstanceDefinition;
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { JRResourceURL } from '../../../../../../common/src/jr-resources/JRResourceURL.ts';
|
|
2
|
+
import { DOMSecondaryInstanceElement } from '../../../XFormDOM.ts';
|
|
3
|
+
import { SecondaryInstanceDefinition } from '../SecondaryInstanceDefinition.ts';
|
|
4
|
+
export type ExternalSecondaryInstanceSourceFormat = 'csv' | 'geojson' | 'xml';
|
|
5
|
+
export type SecondaryInstanceSourceFormat = ExternalSecondaryInstanceSourceFormat | 'internal' | 'blank';
|
|
6
|
+
export declare abstract class SecondaryInstanceSource<Format extends SecondaryInstanceSourceFormat = SecondaryInstanceSourceFormat> {
|
|
7
|
+
readonly format: Format;
|
|
8
|
+
readonly instanceId: string;
|
|
9
|
+
readonly resourceURL: JRResourceURL | null;
|
|
10
|
+
readonly domElement: DOMSecondaryInstanceElement;
|
|
11
|
+
constructor(format: Format, instanceId: string, resourceURL: JRResourceURL | null, domElement: DOMSecondaryInstanceElement);
|
|
12
|
+
abstract parseDefinition(): SecondaryInstanceDefinition;
|
|
13
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SecondaryInstanceDefinition } from '../SecondaryInstanceDefinition.ts';
|
|
2
|
+
import { ExternalSecondaryInstanceSource } from './ExternalSecondaryInstanceSource.ts';
|
|
3
|
+
export declare class XMLExternalSecondaryInstanceSource extends ExternalSecondaryInstanceSource<'xml'> {
|
|
4
|
+
/**
|
|
5
|
+
* Note: this logic is a superset of the logic in
|
|
6
|
+
* {@link InternalSecondaryInstanceSource.parseDefinition}. That subset is so
|
|
7
|
+
* trivial/already sufficiently abstracted that it doesn't really make a lot
|
|
8
|
+
* of sense to abstract further, but it might be worth considering if both
|
|
9
|
+
* method implementations grow their responsibilities in the same ways.
|
|
10
|
+
*/
|
|
11
|
+
parseDefinition(): SecondaryInstanceDefinition;
|
|
12
|
+
}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
+
import { NamespaceDeclarationMap } from '../../lib/names/NamespaceDeclarationMap.ts';
|
|
2
|
+
import { QualifiedName } from '../../lib/names/QualifiedName.ts';
|
|
1
3
|
import { AnyBodyElementDefinition, AnyGroupElementDefinition } from '../body/BodyDefinition.ts';
|
|
2
4
|
import { BindDefinition } from './BindDefinition.ts';
|
|
3
5
|
import { DescendentNodeDefinition } from './DescendentNodeDefinition.ts';
|
|
4
|
-
import { ChildNodeDefinition,
|
|
5
|
-
export declare class SubtreeDefinition extends DescendentNodeDefinition<'subtree', AnyGroupElementDefinition | null>
|
|
6
|
+
import { ChildNodeDefinition, ParentNodeDefinition } from './NodeDefinition.ts';
|
|
7
|
+
export declare class SubtreeDefinition extends DescendentNodeDefinition<'subtree', AnyGroupElementDefinition | null> {
|
|
6
8
|
readonly node: Element;
|
|
7
9
|
readonly type = "subtree";
|
|
8
|
-
readonly
|
|
10
|
+
readonly namespaceDeclarations: NamespaceDeclarationMap;
|
|
11
|
+
readonly qualifiedName: QualifiedName;
|
|
9
12
|
readonly children: readonly ChildNodeDefinition[];
|
|
10
13
|
readonly instances: null;
|
|
11
14
|
readonly defaultValue: null;
|
|
12
15
|
constructor(parent: ParentNodeDefinition, bind: BindDefinition, bodyElement: AnyBodyElementDefinition | null, node: Element);
|
|
13
|
-
toJSON(): Omit<this, "parent" | "
|
|
16
|
+
toJSON(): Omit<this, "parent" | "bind" | "toJSON" | "root" | "bodyElement">;
|
|
14
17
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AnyConstructor } from '../../../../common/types/helpers.js';
|
|
2
|
+
import { StaticDocument, StaticDocumentRootFactory } from '../../integration/xpath/static-dom/StaticDocument.ts';
|
|
3
|
+
import { StaticElementAttributesFactory, StaticElementChildNodesFactory, StaticElementOptions, StaticElement } from '../../integration/xpath/static-dom/StaticElement.ts';
|
|
4
|
+
import { StaticParentNode } from '../../integration/xpath/static-dom/StaticNode.ts';
|
|
5
|
+
type ConcreteConstructor<T extends AnyConstructor> = Pick<T, keyof T>;
|
|
6
|
+
export type ConcreteStaticDocumentConstructor<T extends StaticDocument<Root>, Root extends StaticElement> = ConcreteConstructor<typeof StaticDocument<Root>> & (new (rootFactory: StaticDocumentRootFactory<T, Root>) => T);
|
|
7
|
+
declare const ELEMENT_NODE: 1, CDATA_SECTION_NODE: 4, TEXT_NODE: 3;
|
|
8
|
+
interface StaticChildElementSource {
|
|
9
|
+
readonly domType: typeof ELEMENT_NODE;
|
|
10
|
+
readonly domNode: Element;
|
|
11
|
+
}
|
|
12
|
+
interface StaticChildTextSource {
|
|
13
|
+
readonly domType: typeof CDATA_SECTION_NODE | typeof TEXT_NODE;
|
|
14
|
+
readonly domNode: CharacterData;
|
|
15
|
+
}
|
|
16
|
+
type StaticChildNodeSource = StaticChildElementSource | StaticChildTextSource;
|
|
17
|
+
export declare const toStaticChildNodeSource: (childNode: ChildNode) => StaticChildNodeSource | null;
|
|
18
|
+
export type StaticElementConstructor<T extends StaticElement<Parent>, Parent extends StaticParentNode = StaticParentNode> = ConcreteConstructor<typeof StaticElement> & {
|
|
19
|
+
readonly prototype: T;
|
|
20
|
+
new (parent: Parent, attributesFactory: StaticElementAttributesFactory, childNodesFactory: StaticElementChildNodesFactory, options: StaticElementOptions): T;
|
|
21
|
+
};
|
|
22
|
+
export declare const parseStaticDocumentFromDOMSubtree: <T extends StaticDocument<Root>, Root extends StaticElement<T>>(DocumentConstructor: ConcreteStaticDocumentConstructor<T, Root>, DocumentRootConstructor: StaticElementConstructor<Root, T>, subtreeRootElement: Element) => T;
|
|
23
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { XFormDefinition } from '../../parse/XFormDefinition.ts';
|
|
2
|
-
import { ItemDefinition } from '../body/control/
|
|
2
|
+
import { ItemDefinition } from '../body/control/ItemDefinition.ts';
|
|
3
3
|
import { TextElementDefinition } from './abstract/TextElementDefinition.ts';
|
|
4
4
|
export declare class ItemLabelDefinition extends TextElementDefinition<'item-label'> {
|
|
5
5
|
static from(form: XFormDefinition, owner: ItemDefinition): ItemLabelDefinition | null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { XFormDefinition } from '../../parse/XFormDefinition.ts';
|
|
2
|
-
import { ItemDefinition } from '../body/control/
|
|
3
|
-
import { ItemsetDefinition } from '../body/control/
|
|
2
|
+
import { ItemDefinition } from '../body/control/ItemDefinition.ts';
|
|
3
|
+
import { ItemsetDefinition } from '../body/control/ItemsetDefinition.ts';
|
|
4
4
|
import { RefAttributeChunk } from './abstract/TextElementDefinition.ts';
|
|
5
5
|
import { TextRangeDefinition } from './abstract/TextRangeDefinition.ts';
|
|
6
6
|
export type ItemLabelOwner = ItemDefinition | ItemsetDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ElementTextRole } from '../../../client/TextRange.ts';
|
|
2
2
|
import { XFormDefinition } from '../../../parse/XFormDefinition.ts';
|
|
3
|
-
import { ItemDefinition } from '../../body/control/
|
|
3
|
+
import { ItemDefinition } from '../../body/control/ItemDefinition.ts';
|
|
4
4
|
import { TextLiteralExpression } from '../../expression/TextLiteralExpression.ts';
|
|
5
5
|
import { TextOutputExpression } from '../../expression/TextOutputExpression.ts';
|
|
6
6
|
import { TextReferenceExpression } from '../../expression/TextReferenceExpression.ts';
|
|
@@ -2,7 +2,6 @@ import { LocalNamedElement } from '../../../../../common/types/dom.ts';
|
|
|
2
2
|
import { TextRole } from '../../../client/TextRange.ts';
|
|
3
3
|
import { XFormDefinition } from '../../../parse/XFormDefinition.ts';
|
|
4
4
|
import { DependencyContext } from '../../expression/abstract/DependencyContext.ts';
|
|
5
|
-
import { AnyDependentExpression } from '../../expression/abstract/DependentExpression.ts';
|
|
6
5
|
import { AnyTextChunkExpression } from '../../expression/abstract/TextChunkExpression.ts';
|
|
7
6
|
import { AnyMessageDefinition } from '../MessageDefinition.ts';
|
|
8
7
|
import { AnyTextElementDefinition } from './TextElementDefinition.ts';
|
|
@@ -27,7 +26,6 @@ export declare abstract class TextRangeDefinition<Role extends TextRole> extends
|
|
|
27
26
|
get isTranslated(): boolean;
|
|
28
27
|
set isTranslated(value: true);
|
|
29
28
|
protected constructor(form: XFormDefinition, ownerContext: DependencyContext, sourceNode: TextSourceNode<Role>);
|
|
30
|
-
registerDependentExpression(expression: AnyDependentExpression): void;
|
|
31
29
|
toJSON(): object;
|
|
32
30
|
}
|
|
33
31
|
export type AnyTextRangeDefinition = AnyMessageDefinition | AnyTextElementDefinition;
|
|
@@ -65,9 +65,7 @@ export declare const findLocationPathSubExpressionNodes: (syntaxNode: AnySyntaxN
|
|
|
65
65
|
* expression is any {@link PathExpressionNode} syntax type.
|
|
66
66
|
*/
|
|
67
67
|
export declare const getPathExpressionNode: (expression: string) => PathExpressionNode | null;
|
|
68
|
-
type BrandedExpression<Expression extends string, Brand extends symbol> = Expression &
|
|
69
|
-
readonly [K in Brand]: true;
|
|
70
|
-
};
|
|
68
|
+
type BrandedExpression<Expression extends string, Brand extends symbol> = Expression & Readonly<Record<Brand, true>>;
|
|
71
69
|
declare const CONSTANT_EXPRESSION: unique symbol;
|
|
72
70
|
type CONSTANT_EXPRESSION = typeof CONSTANT_EXPRESSION;
|
|
73
71
|
/**
|
|
@@ -94,4 +92,9 @@ export type ConstantTruthyExpression = BrandedExpression<ConstantExpression, CON
|
|
|
94
92
|
* @see {@link ConstantTruthyExpression}
|
|
95
93
|
*/
|
|
96
94
|
export declare const isConstantTruthyExpression: (expression: string) => expression is ConstantTruthyExpression;
|
|
95
|
+
interface QualifiedNameExpression {
|
|
96
|
+
readonly prefix: string;
|
|
97
|
+
readonly localPart: string;
|
|
98
|
+
}
|
|
99
|
+
export declare const parseQualifiedNameExpression: (expression: string) => QualifiedNameExpression | null;
|
|
97
100
|
export {};
|