@getodk/xforms-engine 0.3.0 → 0.5.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/dist/client/BaseNode.d.ts +15 -5
- package/dist/client/BaseValueNode.d.ts +32 -0
- package/dist/client/EngineConfig.d.ts +49 -49
- package/dist/client/GroupNode.d.ts +2 -3
- package/dist/client/InputNode.d.ts +53 -0
- package/dist/client/ModelValueNode.d.ts +13 -9
- package/dist/client/NodeAppearances.d.ts +1 -2
- package/dist/client/NoteNode.d.ts +3 -4
- package/dist/client/RootNode.d.ts +36 -10
- package/dist/client/SelectNode.d.ts +4 -5
- package/dist/client/SubtreeNode.d.ts +1 -2
- package/dist/client/TextRange.d.ts +3 -4
- package/dist/client/TriggerNode.d.ts +25 -0
- package/dist/client/ValueType.d.ts +3 -0
- package/dist/client/constants.d.ts +50 -1
- package/dist/client/hierarchy.d.ts +9 -5
- package/dist/client/identity.d.ts +14 -0
- package/dist/client/index.d.ts +0 -1
- package/dist/client/node-types.d.ts +3 -1
- package/dist/client/repeat/BaseRepeatRangeNode.d.ts +1 -2
- package/dist/client/repeat/RepeatInstanceNode.d.ts +2 -3
- package/dist/client/repeat/RepeatRangeControlledNode.d.ts +1 -2
- package/dist/client/repeat/RepeatRangeUncontrolledNode.d.ts +1 -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/RangeNode.d.ts +9 -0
- package/dist/client/unsupported/RankNode.d.ts +9 -0
- package/dist/client/unsupported/UnsupportedControlNode.d.ts +32 -0
- package/dist/client/unsupported/UploadNode.d.ts +9 -0
- package/dist/client/validation.d.ts +2 -3
- package/dist/error/ErrorProductionDesignPendingError.d.ts +7 -0
- package/dist/error/ValueTypeInvariantError.d.ts +17 -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 +16 -4
- package/dist/index.js +8559 -4700
- package/dist/index.js.map +1 -1
- package/dist/instance/Group.d.ts +9 -5
- package/dist/instance/InputControl.d.ts +36 -0
- package/dist/instance/ModelValue.d.ts +16 -27
- package/dist/instance/Note.d.ts +11 -5
- package/dist/instance/PrimaryInstance.d.ts +84 -0
- package/dist/instance/Root.d.ts +31 -28
- package/dist/instance/SelectField.d.ts +13 -6
- package/dist/instance/Subtree.d.ts +10 -6
- package/dist/instance/TriggerControl.d.ts +47 -0
- package/dist/instance/abstract/DescendantNode.d.ts +33 -26
- package/dist/instance/abstract/InstanceNode.d.ts +50 -31
- package/dist/instance/abstract/UnsupportedControl.d.ts +53 -0
- package/dist/instance/abstract/ValueNode.d.ts +48 -0
- package/dist/instance/children.d.ts +0 -1
- package/dist/instance/hierarchy.d.ts +13 -8
- package/dist/instance/identity.d.ts +2 -7
- package/dist/instance/index.d.ts +0 -1
- package/dist/instance/internal-api/EvaluationContext.d.ts +53 -13
- package/dist/instance/internal-api/InstanceConfig.d.ts +8 -3
- package/dist/instance/internal-api/InstanceValueContext.d.ts +20 -0
- package/dist/instance/internal-api/PrimaryInstanceDocument.d.ts +36 -0
- package/dist/instance/internal-api/TranslationContext.d.ts +3 -3
- package/dist/instance/internal-api/ValidationContext.d.ts +12 -6
- package/dist/instance/internal-api/ValueContext.d.ts +5 -5
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableInstance.d.ts +14 -0
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableLeafNode.d.ts +31 -0
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableParentNode.d.ts +18 -0
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableValueNode.d.ts +17 -0
- package/dist/instance/repeat/BaseRepeatRange.d.ts +40 -85
- package/dist/instance/repeat/RepeatInstance.d.ts +11 -30
- package/dist/instance/repeat/RepeatRangeControlled.d.ts +3 -4
- package/dist/instance/repeat/RepeatRangeUncontrolled.d.ts +3 -4
- package/dist/instance/resource.d.ts +1 -2
- package/dist/instance/text/TextChunk.d.ts +0 -1
- package/dist/instance/text/TextRange.d.ts +1 -2
- package/dist/instance/unsupported/RangeControl.d.ts +6 -0
- package/dist/instance/unsupported/RankControl.d.ts +6 -0
- package/dist/instance/unsupported/UploadControl.d.ts +6 -0
- 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 +16 -0
- package/dist/integration/xpath/adapter/traversal.d.ts +25 -0
- package/dist/integration/xpath/adapter/values.d.ts +2 -0
- package/dist/integration/xpath/static-dom/StaticAttribute.d.ts +19 -0
- package/dist/integration/xpath/static-dom/StaticDocument.d.ts +16 -0
- package/dist/integration/xpath/static-dom/StaticElement.d.ts +40 -0
- package/dist/integration/xpath/static-dom/StaticNamedNode.d.ts +17 -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/TokenListParser.d.ts +3 -3
- 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/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/IntValueCodec.d.ts +6 -0
- package/dist/lib/codecs/StringValueCodec.d.ts +4 -0
- package/dist/lib/codecs/ValueCodec.d.ts +30 -0
- package/dist/lib/codecs/ValueTypePlaceholderCodec.d.ts +12 -0
- package/dist/lib/codecs/getSharedValueCodec.d.ts +47 -0
- package/dist/lib/dom/query.d.ts +4 -2
- package/dist/lib/reactivity/createChildrenState.d.ts +7 -6
- package/dist/lib/reactivity/createComputedExpression.d.ts +19 -7
- package/dist/lib/reactivity/createInstanceValueState.d.ts +40 -0
- package/dist/lib/reactivity/createNoteReadonlyThunk.d.ts +2 -3
- package/dist/lib/reactivity/createSelectItems.d.ts +0 -1
- package/dist/lib/reactivity/createTranslationState.d.ts +19 -0
- package/dist/lib/reactivity/createValueState.d.ts +6 -11
- package/dist/lib/reactivity/materializeCurrentStateChildren.d.ts +4 -5
- package/dist/lib/reactivity/node-state/createClientState.d.ts +0 -1
- package/dist/lib/reactivity/node-state/createCurrentState.d.ts +0 -1
- package/dist/lib/reactivity/node-state/createEngineState.d.ts +0 -1
- package/dist/lib/reactivity/node-state/createSharedNodeState.d.ts +0 -1
- package/dist/lib/reactivity/node-state/createSpecifiedPropertyDescriptor.d.ts +0 -1
- package/dist/lib/reactivity/node-state/createSpecifiedState.d.ts +0 -1
- package/dist/lib/reactivity/node-state/representations.d.ts +0 -1
- package/dist/lib/reactivity/scope.d.ts +0 -1
- package/dist/lib/reactivity/text/createFieldHint.d.ts +1 -2
- package/dist/lib/reactivity/text/createNodeLabel.d.ts +1 -2
- package/dist/lib/reactivity/text/createNoteText.d.ts +1 -2
- package/dist/lib/reactivity/text/createTextRange.d.ts +0 -1
- package/dist/lib/reactivity/types.d.ts +0 -1
- package/dist/lib/reactivity/validation/createAggregatedViolations.d.ts +0 -1
- package/dist/lib/reactivity/validation/createValidation.d.ts +0 -1
- package/dist/lib/xml-serialization.d.ts +41 -0
- package/dist/parse/XFormDOM.d.ts +42 -0
- package/dist/{XFormDefinition.d.ts → parse/XFormDefinition.d.ts} +3 -5
- package/dist/parse/attachments/FormAttachmentResource.d.ts +27 -0
- package/dist/{body → parse/body}/BodyDefinition.d.ts +16 -11
- package/dist/{body → parse/body}/BodyElementDefinition.d.ts +7 -7
- package/dist/{body → parse/body}/RepeatElementDefinition.d.ts +3 -4
- package/dist/{body → parse/body}/UnsupportedBodyElementDefinition.d.ts +0 -1
- package/dist/parse/body/appearance/inputAppearanceParser.d.ts +3 -0
- package/dist/{body → parse/body}/appearance/selectAppearanceParser.d.ts +1 -2
- package/dist/{body → parse/body}/appearance/structureElementAppearanceParser.d.ts +1 -2
- package/dist/parse/body/appearance/unknownAppearanceParser.d.ts +3 -0
- package/dist/{body → parse/body}/control/ControlDefinition.d.ts +3 -4
- package/dist/{body/control/InputDefinition.d.ts → parse/body/control/InputControlDefinition.d.ts} +2 -3
- package/dist/parse/body/control/RangeControlDefinition.d.ts +11 -0
- package/dist/parse/body/control/RankControlDefinition.d.ts +11 -0
- package/dist/parse/body/control/TriggerControlDefinition.d.ts +11 -0
- package/dist/parse/body/control/UploadControlDefinition.d.ts +11 -0
- package/dist/{body → parse/body}/control/select/ItemDefinition.d.ts +2 -3
- package/dist/{body → parse/body}/control/select/ItemsetDefinition.d.ts +4 -5
- package/dist/{body → parse/body}/control/select/ItemsetNodesetContext.d.ts +1 -4
- package/dist/{body → parse/body}/control/select/SelectDefinition.d.ts +3 -12
- package/dist/{body → parse/body}/group/BaseGroupDefinition.d.ts +3 -5
- package/dist/{body → parse/body}/group/LogicalGroupDefinition.d.ts +0 -1
- package/dist/{body → parse/body}/group/PresentationGroupDefinition.d.ts +1 -2
- package/dist/{body → parse/body}/group/StructuralGroupDefinition.d.ts +0 -1
- package/dist/{model/BindComputation.d.ts → parse/expression/BindComputationExpression.d.ts} +5 -6
- package/dist/{body/control/select → parse/expression}/ItemsetNodesetExpression.d.ts +2 -3
- package/dist/{body/control/select → parse/expression}/ItemsetValueExpression.d.ts +2 -3
- package/dist/parse/expression/RepeatCountControlExpression.d.ts +2 -3
- package/dist/parse/expression/TextLiteralExpression.d.ts +9 -0
- package/dist/parse/expression/TextOutputExpression.d.ts +7 -0
- package/dist/parse/expression/TextReferenceExpression.d.ts +7 -0
- package/dist/parse/expression/TextTranslationExpression.d.ts +8 -0
- package/dist/parse/expression/abstract/DependencyContext.d.ts +7 -0
- package/dist/{expression → parse/expression/abstract}/DependentExpression.d.ts +4 -6
- package/dist/parse/expression/abstract/TextChunkExpression.d.ts +17 -0
- package/dist/parse/model/BindDefinition.d.ts +38 -0
- package/dist/parse/model/BindTypeDefinition.d.ts +20 -0
- package/dist/{model → parse/model}/DescendentNodeDefinition.d.ts +0 -2
- 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 +8 -0
- package/dist/parse/model/ItextTranslation/ItextTranslationsDefinition.d.ts +8 -0
- package/dist/{model → parse/model}/LeafNodeDefinition.d.ts +4 -3
- package/dist/{model → parse/model}/ModelBindMap.d.ts +1 -2
- package/dist/{model → parse/model}/ModelDefinition.d.ts +3 -2
- package/dist/{model → parse/model}/NodeDefinition.d.ts +0 -2
- package/dist/parse/{NoteNodeDefinition.d.ts → model/NoteNodeDefinition.d.ts} +12 -13
- package/dist/{model → parse/model}/RepeatInstanceDefinition.d.ts +1 -2
- package/dist/{model → parse/model}/RepeatRangeDefinition.d.ts +2 -3
- package/dist/{model → parse/model}/RepeatTemplateDefinition.d.ts +2 -3
- package/dist/{model → parse/model}/RootDefinition.d.ts +5 -5
- 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/{model → parse/model}/SubtreeDefinition.d.ts +1 -2
- package/dist/parse/shared/parseStaticDocumentFromDOMSubtree.d.ts +24 -0
- package/dist/parse/text/HintDefinition.d.ts +2 -3
- package/dist/parse/text/ItemLabelDefinition.d.ts +2 -3
- package/dist/parse/text/ItemsetLabelDefinition.d.ts +3 -4
- package/dist/parse/text/LabelDefinition.d.ts +5 -6
- package/dist/parse/text/MessageDefinition.d.ts +4 -5
- package/dist/parse/text/abstract/TextElementDefinition.d.ts +8 -9
- package/dist/parse/text/abstract/TextRangeDefinition.d.ts +4 -7
- package/dist/parse/xpath/path-resolution.d.ts +0 -1
- package/dist/parse/xpath/predicate-analysis.d.ts +0 -1
- package/dist/parse/xpath/reference-parsing.d.ts +0 -1
- package/dist/parse/xpath/semantic-analysis.d.ts +5 -1
- package/dist/parse/xpath/syntax-traversal.d.ts +0 -1
- package/dist/solid.js +8398 -4543
- package/dist/solid.js.map +1 -1
- package/package.json +14 -12
- package/src/client/BaseNode.ts +17 -7
- package/src/client/BaseValueNode.ts +35 -0
- package/src/client/EngineConfig.ts +52 -51
- package/src/client/GroupNode.ts +2 -2
- package/src/client/InputNode.ts +77 -0
- package/src/client/ModelValueNode.ts +31 -8
- package/src/client/NodeAppearances.ts +1 -1
- package/src/client/NoteNode.ts +3 -3
- package/src/client/RootNode.ts +39 -9
- package/src/client/SelectNode.ts +5 -5
- package/src/client/SubtreeNode.ts +1 -1
- package/src/client/TextRange.ts +4 -5
- package/src/client/TriggerNode.ts +29 -0
- package/src/client/ValueType.ts +4 -0
- package/src/client/constants.ts +67 -0
- package/src/client/hierarchy.ts +16 -4
- package/src/client/identity.ts +16 -0
- package/src/client/node-types.ts +19 -5
- package/src/client/repeat/BaseRepeatRangeNode.ts +1 -1
- package/src/client/repeat/RepeatInstanceNode.ts +2 -2
- package/src/client/repeat/RepeatRangeControlledNode.ts +1 -1
- package/src/client/repeat/RepeatRangeUncontrolledNode.ts +1 -1
- 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/RangeNode.ts +14 -0
- package/src/client/unsupported/RankNode.ts +14 -0
- package/src/client/unsupported/UnsupportedControlNode.ts +40 -0
- package/src/client/unsupported/UploadNode.ts +14 -0
- package/src/client/validation.ts +2 -2
- package/src/error/ErrorProductionDesignPendingError.ts +6 -0
- package/src/error/ValueTypeInvariantError.ts +22 -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 +16 -2
- package/src/instance/Group.ts +17 -5
- package/src/instance/InputControl.ts +119 -0
- package/src/instance/ModelValue.ts +47 -54
- package/src/instance/Note.ts +26 -10
- package/src/instance/PrimaryInstance.ts +244 -0
- package/src/instance/Root.ts +64 -132
- package/src/instance/SelectField.ts +62 -25
- package/src/instance/Subtree.ts +19 -7
- package/src/instance/{StringField.ts → TriggerControl.ts} +61 -30
- package/src/instance/abstract/DescendantNode.ts +92 -47
- package/src/instance/abstract/InstanceNode.ts +104 -98
- package/src/instance/abstract/UnsupportedControl.ts +174 -0
- package/src/instance/abstract/ValueNode.ts +127 -0
- package/src/instance/children.ts +83 -14
- package/src/instance/hierarchy.ts +36 -14
- package/src/instance/identity.ts +3 -9
- package/src/instance/index.ts +26 -8
- package/src/instance/internal-api/EvaluationContext.ts +61 -14
- package/src/instance/internal-api/InstanceConfig.ts +9 -2
- package/src/instance/internal-api/InstanceValueContext.ts +24 -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 +13 -5
- package/src/instance/internal-api/ValueContext.ts +5 -4
- package/src/instance/internal-api/submission/ClientReactiveSubmittableInstance.ts +20 -0
- package/src/instance/internal-api/submission/ClientReactiveSubmittableLeafNode.ts +42 -0
- package/src/instance/internal-api/submission/ClientReactiveSubmittableParentNode.ts +25 -0
- package/src/instance/internal-api/submission/ClientReactiveSubmittableValueNode.ts +23 -0
- package/src/instance/repeat/BaseRepeatRange.ts +51 -132
- package/src/instance/repeat/RepeatInstance.ts +20 -46
- package/src/instance/repeat/RepeatRangeControlled.ts +6 -6
- package/src/instance/repeat/RepeatRangeUncontrolled.ts +3 -5
- package/src/instance/resource.ts +1 -1
- package/src/instance/text/TextChunk.ts +1 -1
- package/src/instance/unsupported/RangeControl.ts +9 -0
- package/src/instance/unsupported/RankControl.ts +9 -0
- package/src/instance/unsupported/UploadControl.ts +9 -0
- 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 +99 -0
- package/src/integration/xpath/adapter/traversal.ts +228 -0
- package/src/integration/xpath/adapter/values.ts +5 -0
- package/src/integration/xpath/static-dom/StaticAttribute.ts +33 -0
- package/src/integration/xpath/static-dom/StaticDocument.ts +38 -0
- package/src/integration/xpath/static-dom/StaticElement.ts +106 -0
- package/src/integration/xpath/static-dom/StaticNamedNode.ts +45 -0
- package/src/integration/xpath/static-dom/StaticNode.ts +68 -0
- package/src/integration/xpath/static-dom/StaticText.ts +28 -0
- package/src/lib/TokenListParser.ts +11 -7
- 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/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/IntValueCodec.ts +100 -0
- package/src/lib/codecs/StringValueCodec.ts +11 -0
- package/src/lib/codecs/ValueCodec.ts +106 -0
- package/src/lib/codecs/ValueTypePlaceholderCodec.ts +19 -0
- package/src/lib/codecs/getSharedValueCodec.ts +77 -0
- package/src/lib/dom/query.ts +8 -1
- package/src/lib/reactivity/createChildrenState.ts +8 -6
- package/src/lib/reactivity/createComputedExpression.ts +59 -36
- package/src/lib/reactivity/createInstanceValueState.ts +166 -0
- package/src/lib/reactivity/createNoteReadonlyThunk.ts +12 -7
- package/src/lib/reactivity/createSelectItems.ts +23 -23
- package/src/lib/reactivity/createTranslationState.ts +61 -0
- package/src/lib/reactivity/createValueState.ts +64 -122
- package/src/lib/reactivity/materializeCurrentStateChildren.ts +7 -7
- package/src/lib/reactivity/node-state/createSpecifiedState.ts +1 -1
- package/src/lib/reactivity/text/createFieldHint.ts +1 -1
- package/src/lib/reactivity/text/createNodeLabel.ts +1 -1
- package/src/lib/reactivity/text/createNoteText.ts +1 -1
- package/src/lib/reactivity/text/createTextRange.ts +8 -7
- package/src/lib/reactivity/validation/createAggregatedViolations.ts +9 -4
- package/src/lib/reactivity/validation/createValidation.ts +2 -3
- package/src/lib/xml-serialization.ts +96 -0
- package/src/{XFormDOM.ts → parse/XFormDOM.ts} +110 -75
- package/src/{XFormDefinition.ts → parse/XFormDefinition.ts} +3 -8
- package/src/parse/attachments/FormAttachmentResource.ts +40 -0
- package/src/{body → parse/body}/BodyDefinition.ts +46 -29
- package/src/{body → parse/body}/BodyElementDefinition.ts +12 -6
- package/src/{body → parse/body}/RepeatElementDefinition.ts +7 -5
- package/src/{body → parse/body}/appearance/inputAppearanceParser.ts +2 -2
- package/src/{body → parse/body}/appearance/selectAppearanceParser.ts +1 -1
- package/src/{body → parse/body}/appearance/structureElementAppearanceParser.ts +1 -1
- package/src/parse/body/appearance/unknownAppearanceParser.ts +5 -0
- package/src/{body → parse/body}/control/ControlDefinition.ts +4 -4
- package/src/{body/control/InputDefinition.ts → parse/body/control/InputControlDefinition.ts} +3 -5
- package/src/parse/body/control/RangeControlDefinition.ts +26 -0
- package/src/parse/body/control/RankControlDefinition.ts +27 -0
- package/src/parse/body/control/TriggerControlDefinition.ts +26 -0
- package/src/parse/body/control/UploadControlDefinition.ts +26 -0
- package/src/{body → parse/body}/control/select/ItemDefinition.ts +2 -2
- package/src/{body → parse/body}/control/select/ItemsetDefinition.ts +5 -5
- package/src/{body → parse/body}/control/select/ItemsetNodesetContext.ts +1 -6
- package/src/{body → parse/body}/control/select/SelectDefinition.ts +3 -11
- package/src/{body → parse/body}/group/BaseGroupDefinition.ts +11 -22
- package/src/{body → parse/body}/group/PresentationGroupDefinition.ts +1 -1
- package/src/{model/BindComputation.ts → parse/expression/BindComputationExpression.ts} +8 -8
- package/src/{body/control/select → parse/expression}/ItemsetNodesetExpression.ts +2 -2
- package/src/{body/control/select → parse/expression}/ItemsetValueExpression.ts +2 -2
- package/src/parse/expression/RepeatCountControlExpression.ts +2 -2
- package/src/parse/expression/TextLiteralExpression.ts +19 -0
- package/src/parse/{text/OutputChunkDefinition.ts → expression/TextOutputExpression.ts} +4 -4
- package/src/parse/{text/ReferenceChunkDefinition.ts → expression/TextReferenceExpression.ts} +4 -4
- package/src/parse/{text/TranslationChunkDefinition.ts → expression/TextTranslationExpression.ts} +4 -4
- package/src/{expression → parse/expression/abstract}/DependencyContext.ts +0 -26
- package/src/{expression → parse/expression/abstract}/DependentExpression.ts +5 -16
- package/src/parse/expression/abstract/TextChunkExpression.ts +38 -0
- package/src/parse/model/BindDefinition.ts +104 -0
- package/src/parse/model/BindTypeDefinition.ts +175 -0
- package/src/{model → parse/model}/DescendentNodeDefinition.ts +0 -6
- package/src/parse/model/FormSubmissionDefinition.ts +44 -0
- package/src/parse/model/ItextTranslation/ItextTranslationDefinition.ts +4 -0
- package/src/parse/model/ItextTranslation/ItextTranslationRootDefinition.ts +41 -0
- package/src/parse/model/ItextTranslation/ItextTranslationsDefinition.ts +31 -0
- package/src/{model → parse/model}/LeafNodeDefinition.ts +4 -1
- package/src/{model → parse/model}/ModelBindMap.ts +6 -8
- package/src/parse/model/ModelDefinition.ts +24 -0
- package/src/{model → parse/model}/NodeDefinition.ts +0 -3
- package/src/parse/{NoteNodeDefinition.ts → model/NoteNodeDefinition.ts} +12 -12
- package/src/{model → parse/model}/RepeatRangeDefinition.ts +1 -1
- package/src/{model → parse/model}/RootDefinition.ts +4 -3
- 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 +414 -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/shared/parseStaticDocumentFromDOMSubtree.ts +149 -0
- package/src/parse/text/HintDefinition.ts +2 -2
- package/src/parse/text/ItemLabelDefinition.ts +2 -2
- package/src/parse/text/ItemsetLabelDefinition.ts +7 -7
- package/src/parse/text/LabelDefinition.ts +5 -5
- package/src/parse/text/MessageDefinition.ts +7 -7
- package/src/parse/text/abstract/TextElementDefinition.ts +14 -14
- package/src/parse/text/abstract/TextRangeDefinition.ts +4 -10
- package/src/parse/xpath/semantic-analysis.ts +29 -0
- package/dist/XFormDOM.d.ts +0 -32
- package/dist/XFormDataType.d.ts +0 -27
- package/dist/body/appearance/inputAppearanceParser.d.ts +0 -4
- package/dist/client/StringNode.d.ts +0 -47
- package/dist/expression/DependencyContext.d.ts +0 -13
- package/dist/instance/StringField.d.ts +0 -45
- package/dist/instance/internal-api/SubscribableDependency.d.ts +0 -60
- package/dist/model/BindDefinition.d.ts +0 -34
- package/dist/parse/text/OutputChunkDefinition.d.ts +0 -8
- package/dist/parse/text/ReferenceChunkDefinition.d.ts +0 -8
- package/dist/parse/text/StaticTextChunkDefinition.d.ts +0 -10
- package/dist/parse/text/TranslationChunkDefinition.d.ts +0 -9
- package/dist/parse/text/abstract/TextChunkDefinition.d.ts +0 -18
- package/src/XFormDataType.ts +0 -64
- package/src/client/StringNode.ts +0 -52
- package/src/instance/internal-api/SubscribableDependency.ts +0 -61
- package/src/model/BindDefinition.ts +0 -106
- package/src/model/ModelDefinition.ts +0 -19
- package/src/parse/TODO.md +0 -3
- package/src/parse/text/StaticTextChunkDefinition.ts +0 -19
- package/src/parse/text/abstract/TextChunkDefinition.ts +0 -38
- /package/dist/{model → parse/model}/BindElement.d.ts +0 -0
- /package/src/{body → parse/body}/UnsupportedBodyElementDefinition.ts +0 -0
- /package/src/{body → parse/body}/group/LogicalGroupDefinition.ts +0 -0
- /package/src/{body → parse/body}/group/StructuralGroupDefinition.ts +0 -0
- /package/src/{model → parse/model}/BindElement.ts +0 -0
- /package/src/{model → parse/model}/RepeatInstanceDefinition.ts +0 -0
- /package/src/{model → parse/model}/RepeatTemplateDefinition.ts +0 -0
- /package/src/{model → parse/model}/SubtreeDefinition.ts +0 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
declare const ESCAPED_XML_TEXT_BRAND: unique symbol;
|
|
2
|
+
export type EscapedXMLText = string & {
|
|
3
|
+
readonly [ESCAPED_XML_TEXT_BRAND]: true;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* This is based on the `escapeHTML` implementation in
|
|
7
|
+
* {@link https://github.com/ryansolid/dom-expressions} (Solid's JSX transform).
|
|
8
|
+
*
|
|
9
|
+
* @see {@link https://github.com/ryansolid/dom-expressions/pull/27} for
|
|
10
|
+
* motivation to derive this implementation approach.
|
|
11
|
+
*
|
|
12
|
+
* The intent is that this can be updated easily if the base implementation
|
|
13
|
+
* changes. As such, some aspects of this implementation differ from some of our
|
|
14
|
+
* typical code style preferences.
|
|
15
|
+
*
|
|
16
|
+
* Notable changes from the base implementation:
|
|
17
|
+
*
|
|
18
|
+
* - Formatting: automated only.
|
|
19
|
+
* - Naming: the {@link text} parameter is named `html` in the base
|
|
20
|
+
* implementation. That would be confusing if preserved.
|
|
21
|
+
* - Types:
|
|
22
|
+
* - Parameter types are added (of course)
|
|
23
|
+
* - Return type is branded as {@link EscapedXMLText}, to allow downstream
|
|
24
|
+
* checks that escaping has been performed. Return statements are cast
|
|
25
|
+
* accordingly.
|
|
26
|
+
* - {@link text} attempts to minimize risk of double-escaping by excluding
|
|
27
|
+
* that same branded type.
|
|
28
|
+
* - The '>' character is also escaped, necessary for producing valid XML.
|
|
29
|
+
*
|
|
30
|
+
* As with the base implementation, we leave some characters unescaped:
|
|
31
|
+
*
|
|
32
|
+
* - " (double quote): except when {@link attr} is `true`.
|
|
33
|
+
*
|
|
34
|
+
* - ' (single quote): on the assumption that attributes are always serialized
|
|
35
|
+
* in double quotes. If we ever move this to `@getodk/common`, we'd want to
|
|
36
|
+
* reconsider this assumption.
|
|
37
|
+
*/
|
|
38
|
+
export declare const escapeXMLText: <Text extends string>(text: Exclude<Text, EscapedXMLText>, attr?: boolean) => EscapedXMLText;
|
|
39
|
+
export declare const serializeParentElementXML: (nodeName: string, serializedChildren: readonly string[]) => string;
|
|
40
|
+
export declare const serializeLeafElementXML: (nodeName: string, xmlValue: EscapedXMLText) => string;
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { KnownAttributeLocalNamedElement } from '../../../common/types/dom.ts';
|
|
2
|
+
interface DOMBindElement extends KnownAttributeLocalNamedElement<'bind', 'nodeset'> {
|
|
3
|
+
}
|
|
4
|
+
export interface DOMItextTranslationElement extends KnownAttributeLocalNamedElement<'translation', 'lang'> {
|
|
5
|
+
}
|
|
6
|
+
export interface DOMSecondaryInstanceElement extends KnownAttributeLocalNamedElement<'instance', 'id'> {
|
|
7
|
+
}
|
|
8
|
+
interface XFormDOMOptions {
|
|
9
|
+
readonly isNormalized: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @todo **Everything** in this class should be cacheable. Maybe not worth it
|
|
13
|
+
* for small forms, but may make a pretty substantial difference for very large
|
|
14
|
+
* forms (in bytes) in sessions creating multiple instances of the same form.
|
|
15
|
+
*/
|
|
16
|
+
export declare class XFormDOM {
|
|
17
|
+
protected readonly sourceXML: string;
|
|
18
|
+
static from(sourceXML: string): XFormDOM;
|
|
19
|
+
protected readonly normalizedXML: string;
|
|
20
|
+
readonly xformDocument: XMLDocument;
|
|
21
|
+
readonly html: Element;
|
|
22
|
+
readonly head: Element;
|
|
23
|
+
readonly title: Element;
|
|
24
|
+
readonly model: Element;
|
|
25
|
+
readonly binds: readonly DOMBindElement[];
|
|
26
|
+
readonly primaryInstance: Element;
|
|
27
|
+
readonly primaryInstanceRoot: Element;
|
|
28
|
+
readonly itextTranslationElements: readonly DOMItextTranslationElement[];
|
|
29
|
+
readonly secondaryInstanceElements: readonly DOMSecondaryInstanceElement[];
|
|
30
|
+
readonly body: Element;
|
|
31
|
+
protected constructor(sourceXML: string, options: XFormDOMOptions);
|
|
32
|
+
toJSON(): Omit<this, "head" | "html" | "title" | "toJSON" | "model" | "primaryInstanceRoot" | "primaryInstance" | "xformDocument"> & {
|
|
33
|
+
xformDocument: string;
|
|
34
|
+
html: string;
|
|
35
|
+
head: string;
|
|
36
|
+
title: string;
|
|
37
|
+
model: string;
|
|
38
|
+
primaryInstance: string;
|
|
39
|
+
primaryInstanceRoot: string;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BodyDefinition } from './body/BodyDefinition.ts';
|
|
1
|
+
import { BodyDefinition } from '../parse/body/BodyDefinition.ts';
|
|
3
2
|
import { ModelDefinition } from './model/ModelDefinition.ts';
|
|
4
|
-
|
|
3
|
+
import { XFormDOM } from './XFormDOM.ts';
|
|
5
4
|
export declare class XFormDefinition {
|
|
6
|
-
readonly sourceXML: string;
|
|
7
5
|
readonly xformDOM: XFormDOM;
|
|
8
6
|
readonly xformDocument: XMLDocument;
|
|
9
7
|
readonly id: string;
|
|
@@ -11,5 +9,5 @@ export declare class XFormDefinition {
|
|
|
11
9
|
readonly rootReference: string;
|
|
12
10
|
readonly body: BodyDefinition;
|
|
13
11
|
readonly model: ModelDefinition;
|
|
14
|
-
constructor(
|
|
12
|
+
constructor(xformDOM: XFormDOM);
|
|
15
13
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { JRResourceURL } from '../../../../common/src/jr-resources/JRResourceURL.ts';
|
|
2
|
+
export type FormAttachmentDataType = 'media' | 'secondary-instance';
|
|
3
|
+
/**
|
|
4
|
+
* @todo This type anticipates work to support media form attachments, which
|
|
5
|
+
* will tend to be associated with binary data. The
|
|
6
|
+
* expectation is that:
|
|
7
|
+
*
|
|
8
|
+
* - {@link Blob} would be appropriate for representing data from attachment
|
|
9
|
+
* resources which are conventionally loaded to completion (where network
|
|
10
|
+
* conditions are favorable), such as images
|
|
11
|
+
*
|
|
12
|
+
* - {@link MediaSource} or {@link ReadableStream} may be more appropriate for
|
|
13
|
+
* representing data from resources which are conventionally streamed in a
|
|
14
|
+
* browser context (often regardless of network conditions), such as video and
|
|
15
|
+
* audio
|
|
16
|
+
*/
|
|
17
|
+
export type FormAttachmentMediaData = Blob | MediaSource | ReadableStream<unknown>;
|
|
18
|
+
export type FormAttachmentSecondaryInstanceData = string;
|
|
19
|
+
type FormAttachmentData<DataType extends FormAttachmentDataType> = DataType extends 'media' ? FormAttachmentMediaData : FormAttachmentSecondaryInstanceData;
|
|
20
|
+
export declare abstract class FormAttachmentResource<DataType extends FormAttachmentDataType> {
|
|
21
|
+
readonly dataType: DataType;
|
|
22
|
+
readonly resourceURL: JRResourceURL;
|
|
23
|
+
readonly contentType: string;
|
|
24
|
+
readonly data: FormAttachmentData<DataType>;
|
|
25
|
+
protected constructor(dataType: DataType, resourceURL: JRResourceURL, contentType: string, data: FormAttachmentData<DataType>);
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { ParsedTokenList, TokenListParser } from '../../lib/TokenListParser.ts';
|
|
2
|
+
import { XFormDefinition } from '../../parse/XFormDefinition.ts';
|
|
3
|
+
import { DependencyContext } from '../expression/abstract/DependencyContext.ts';
|
|
4
|
+
import { InputControlDefinition } from './control/InputControlDefinition.ts';
|
|
5
|
+
import { RangeControlDefinition } from './control/RangeControlDefinition.ts';
|
|
6
|
+
import { RankControlDefinition } from './control/RankControlDefinition.ts';
|
|
7
7
|
import { AnySelectDefinition } from './control/select/SelectDefinition.ts';
|
|
8
|
+
import { TriggerControlDefinition } from './control/TriggerControlDefinition.ts';
|
|
9
|
+
import { UploadControlDefinition } from './control/UploadControlDefinition.ts';
|
|
8
10
|
import { LogicalGroupDefinition } from './group/LogicalGroupDefinition.ts';
|
|
9
11
|
import { PresentationGroupDefinition } from './group/PresentationGroupDefinition.ts';
|
|
10
12
|
import { StructuralGroupDefinition } from './group/StructuralGroupDefinition.ts';
|
|
11
|
-
|
|
13
|
+
import { RepeatElementDefinition } from './RepeatElementDefinition.ts';
|
|
14
|
+
import { UnsupportedBodyElementDefinition } from './UnsupportedBodyElementDefinition.ts';
|
|
12
15
|
export interface BodyElementParentContext {
|
|
16
|
+
readonly body: BodyDefinition;
|
|
13
17
|
readonly reference: string | null;
|
|
14
18
|
readonly element: Element;
|
|
15
19
|
}
|
|
16
|
-
export type ControlElementDefinition = AnySelectDefinition |
|
|
20
|
+
export type ControlElementDefinition = AnySelectDefinition | InputControlDefinition | RangeControlDefinition | RankControlDefinition | TriggerControlDefinition | UploadControlDefinition;
|
|
17
21
|
type SupportedBodyElementDefinition = RepeatElementDefinition | LogicalGroupDefinition | PresentationGroupDefinition | StructuralGroupDefinition | ControlElementDefinition;
|
|
18
22
|
export type AnyBodyElementDefinition = SupportedBodyElementDefinition | UnsupportedBodyElementDefinition;
|
|
19
23
|
export type BodyElementDefinitionArray = readonly AnyBodyElementDefinition[];
|
|
@@ -38,9 +42,9 @@ declare class BodyElementMap extends Map<BodyElementReference, AnyBodyElementDef
|
|
|
38
42
|
}
|
|
39
43
|
declare const bodyClassParser: TokenListParser<"pages", "pages">;
|
|
40
44
|
export type BodyClassList = ParsedTokenList<typeof bodyClassParser>;
|
|
41
|
-
export declare class BodyDefinition extends DependencyContext {
|
|
45
|
+
export declare class BodyDefinition extends DependencyContext implements BodyElementParentContext {
|
|
42
46
|
protected readonly form: XFormDefinition;
|
|
43
|
-
|
|
47
|
+
readonly body: BodyDefinition;
|
|
44
48
|
readonly element: Element;
|
|
45
49
|
/**
|
|
46
50
|
* @todo this class is already an oddity in that it's **like** an element
|
|
@@ -65,6 +69,7 @@ export declare class BodyDefinition extends DependencyContext {
|
|
|
65
69
|
readonly reference: string;
|
|
66
70
|
constructor(form: XFormDefinition);
|
|
67
71
|
getBodyElement(reference: string): AnyBodyElementDefinition | null;
|
|
68
|
-
|
|
72
|
+
getChildElementDefinitions(form: XFormDefinition, parent: BodyElementParentContext, parentElement: Element, children?: readonly Element[]): readonly AnyBodyElementDefinition[];
|
|
73
|
+
toJSON(): Omit<this, "form" | "toJSON" | "isTranslated" | "getBodyElement" | "getChildElementDefinitions">;
|
|
69
74
|
}
|
|
70
75
|
export {};
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
+
import { DependencyContext } from '../expression/abstract/DependencyContext.ts';
|
|
2
|
+
import { HintDefinition } from '../text/HintDefinition.ts';
|
|
3
|
+
import { ItemLabelDefinition } from '../text/ItemLabelDefinition.ts';
|
|
4
|
+
import { LabelDefinition } from '../text/LabelDefinition.ts';
|
|
1
5
|
import { XFormDefinition } from '../XFormDefinition.ts';
|
|
2
|
-
import {
|
|
3
|
-
import { HintDefinition } from '../parse/text/HintDefinition.ts';
|
|
4
|
-
import { ItemLabelDefinition } from '../parse/text/ItemLabelDefinition.ts';
|
|
5
|
-
import { LabelDefinition } from '../parse/text/LabelDefinition.ts';
|
|
6
|
-
import { BodyElementParentContext } from './BodyDefinition.ts';
|
|
7
|
-
|
|
6
|
+
import { BodyDefinition, BodyElementParentContext } from './BodyDefinition.ts';
|
|
8
7
|
/**
|
|
9
8
|
* These category names roughly correspond to each of the ODK XForms spec's
|
|
10
9
|
* {@link https://getodk.github.io/xforms-spec/#body-elements | Body Elements}
|
|
11
10
|
* tables.
|
|
12
11
|
*/
|
|
13
12
|
type BodyElementCategory = 'control' | 'structure' | 'support' | 'UNSUPPORTED';
|
|
14
|
-
export declare abstract class BodyElementDefinition<Type extends string> extends DependencyContext {
|
|
13
|
+
export declare abstract class BodyElementDefinition<Type extends string> extends DependencyContext implements BodyElementParentContext {
|
|
15
14
|
protected readonly form: XFormDefinition;
|
|
16
15
|
readonly parent: BodyElementParentContext;
|
|
17
16
|
readonly element: Element;
|
|
18
17
|
static isCompatible(localName: string, element: Element): boolean;
|
|
18
|
+
readonly body: BodyDefinition;
|
|
19
19
|
abstract readonly category: BodyElementCategory;
|
|
20
20
|
abstract readonly type: Type;
|
|
21
21
|
readonly hint: HintDefinition | null;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { XFormDefinition } from '../XFormDefinition.ts';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { BodyElementDefinitionArray, BodyElementParentContext } from '../body/BodyDefinition.ts';
|
|
3
|
+
import { LabelDefinition } from '../text/LabelDefinition.ts';
|
|
4
4
|
import { BodyElementDefinition } from './BodyElementDefinition.ts';
|
|
5
5
|
import { StructureElementAppearanceDefinition } from './appearance/structureElementAppearanceParser.ts';
|
|
6
|
-
|
|
7
6
|
export declare class RepeatElementDefinition extends BodyElementDefinition<'repeat'> {
|
|
8
7
|
static isCompatible(localName: string): boolean;
|
|
9
8
|
readonly category = "structure";
|
|
@@ -15,5 +14,5 @@ export declare class RepeatElementDefinition extends BodyElementDefinition<'repe
|
|
|
15
14
|
readonly noAddRemoveExpression: string | null;
|
|
16
15
|
readonly children: BodyElementDefinitionArray;
|
|
17
16
|
constructor(form: XFormDefinition, parent: BodyElementParentContext, element: Element);
|
|
18
|
-
toJSON(): Omit<this, "
|
|
17
|
+
toJSON(): Omit<this, "parent" | "form" | "toJSON" | "isTranslated">;
|
|
19
18
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { XFormDefinition } from '../XFormDefinition.ts';
|
|
2
2
|
import { BodyElementParentContext } from './BodyDefinition.ts';
|
|
3
3
|
import { BodyElementDefinition } from './BodyElementDefinition.ts';
|
|
4
|
-
|
|
5
4
|
export declare class UnsupportedBodyElementDefinition extends BodyElementDefinition<'UNSUPPORTED'> {
|
|
6
5
|
static isCompatible(): boolean;
|
|
7
6
|
readonly category = "UNSUPPORTED";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { TokenListParser, ParsedTokenList } from '../../../lib/TokenListParser.ts';
|
|
2
|
+
export declare const inputAppearanceParser: TokenListParser<"multiline" | "numbers" | "url" | "thousands-sep" | "no-calendar" | "month-year" | "year" | "ethiopian" | "coptic" | "islamic" | "bikram-sambat" | "myanmar" | "persian" | "placement-map" | "maps" | "hidden-answer" | "annotate" | "draw" | "signature" | "new-front" | "new" | "front" | "printer" | "masked", "multiline" | "numbers" | "url" | "thousands-sep" | "no-calendar" | "month-year" | "year" | "ethiopian" | "coptic" | "islamic" | "bikram-sambat" | "myanmar" | "persian" | "placement-map" | "maps" | "hidden-answer" | "annotate" | "draw" | "signature" | "new-front" | "new" | "front" | "printer" | "masked">;
|
|
3
|
+
export type InputAppearanceDefinition = ParsedTokenList<typeof inputAppearanceParser>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { TokenListParser, ParsedTokenList } from '
|
|
2
|
-
|
|
1
|
+
import { TokenListParser, ParsedTokenList } from '../../../lib/TokenListParser.ts';
|
|
3
2
|
export declare const selectAppearanceParser: TokenListParser<"map" | "label" | "compact" | "horizontal" | "horizontal-compact" | "list-nolabel" | "minimal" | "columns" | "columns-1" | "columns-2" | "columns-3" | "columns-4" | "columns-5" | "columns-pack" | "autocomplete" | "likert" | "quick" | "quickcompact", "autocomplete">;
|
|
4
3
|
export type SelectAppearanceDefinition = ParsedTokenList<typeof selectAppearanceParser>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { TokenListParser, ParsedTokenList } from '
|
|
2
|
-
|
|
1
|
+
import { TokenListParser, ParsedTokenList } from '../../../lib/TokenListParser.ts';
|
|
3
2
|
export declare const structureElementAppearanceParser: TokenListParser<"field-list" | "table-list", "field-list" | "table-list">;
|
|
4
3
|
export type StructureElementAppearanceDefinition = ParsedTokenList<typeof structureElementAppearanceParser>;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
+
import { ParsedTokenList } from '../../../lib/TokenListParser.ts';
|
|
2
|
+
import { HintDefinition } from '../../text/HintDefinition.ts';
|
|
3
|
+
import { LabelDefinition } from '../../text/LabelDefinition.ts';
|
|
1
4
|
import { XFormDefinition } from '../../XFormDefinition.ts';
|
|
2
|
-
import { ParsedTokenList } from '../../lib/TokenListParser.ts';
|
|
3
|
-
import { HintDefinition } from '../../parse/text/HintDefinition.ts';
|
|
4
|
-
import { LabelDefinition } from '../../parse/text/LabelDefinition.ts';
|
|
5
5
|
import { BodyElementParentContext } from '../BodyDefinition.ts';
|
|
6
6
|
import { BodyElementDefinition } from '../BodyElementDefinition.ts';
|
|
7
|
-
|
|
8
7
|
type ControlType = 'input' | 'range' | 'rank' | 'select' | 'select1' | 'trigger' | 'upload';
|
|
9
8
|
export declare abstract class ControlDefinition<Type extends ControlType> extends BodyElementDefinition<Type> {
|
|
10
9
|
readonly category = "control";
|
package/dist/{body/control/InputDefinition.d.ts → parse/body/control/InputControlDefinition.d.ts}
RENAMED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { XFormDefinition } from '../../XFormDefinition.ts';
|
|
2
|
-
import { BodyElementParentContext } from '../BodyDefinition.ts';
|
|
3
2
|
import { InputAppearanceDefinition } from '../appearance/inputAppearanceParser.ts';
|
|
3
|
+
import { BodyElementParentContext } from '../BodyDefinition.ts';
|
|
4
4
|
import { ControlDefinition } from './ControlDefinition.ts';
|
|
5
|
-
|
|
6
|
-
export declare class InputDefinition extends ControlDefinition<'input'> {
|
|
5
|
+
export declare class InputControlDefinition extends ControlDefinition<'input'> {
|
|
7
6
|
static isCompatible(localName: string): boolean;
|
|
8
7
|
readonly type = "input";
|
|
9
8
|
readonly appearances: InputAppearanceDefinition;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XFormDefinition } from '../../XFormDefinition.ts';
|
|
2
|
+
import { UnknownAppearanceDefinition } from '../appearance/unknownAppearanceParser.ts';
|
|
3
|
+
import { BodyElementParentContext } from '../BodyDefinition.ts';
|
|
4
|
+
import { ControlDefinition } from './ControlDefinition.ts';
|
|
5
|
+
export declare class RangeControlDefinition extends ControlDefinition<'range'> {
|
|
6
|
+
static isCompatible(localName: string): boolean;
|
|
7
|
+
readonly type = "range";
|
|
8
|
+
readonly appearances: UnknownAppearanceDefinition;
|
|
9
|
+
constructor(form: XFormDefinition, parent: BodyElementParentContext, element: Element);
|
|
10
|
+
toJSON(): object;
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XFormDefinition } from '../../XFormDefinition.ts';
|
|
2
|
+
import { UnknownAppearanceDefinition } from '../appearance/unknownAppearanceParser.ts';
|
|
3
|
+
import { BodyElementParentContext } from '../BodyDefinition.ts';
|
|
4
|
+
import { ControlDefinition } from './ControlDefinition.ts';
|
|
5
|
+
export declare class RankControlDefinition extends ControlDefinition<'rank'> {
|
|
6
|
+
static isCompatible(localName: string, element: Element): boolean;
|
|
7
|
+
readonly type = "rank";
|
|
8
|
+
readonly appearances: UnknownAppearanceDefinition;
|
|
9
|
+
constructor(form: XFormDefinition, parent: BodyElementParentContext, element: Element);
|
|
10
|
+
toJSON(): object;
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XFormDefinition } from '../../XFormDefinition.ts';
|
|
2
|
+
import { UnknownAppearanceDefinition } from '../appearance/unknownAppearanceParser.ts';
|
|
3
|
+
import { BodyElementParentContext } from '../BodyDefinition.ts';
|
|
4
|
+
import { ControlDefinition } from './ControlDefinition.ts';
|
|
5
|
+
export declare class TriggerControlDefinition extends ControlDefinition<'trigger'> {
|
|
6
|
+
static isCompatible(localName: string): boolean;
|
|
7
|
+
readonly type = "trigger";
|
|
8
|
+
readonly appearances: UnknownAppearanceDefinition;
|
|
9
|
+
constructor(form: XFormDefinition, parent: BodyElementParentContext, element: Element);
|
|
10
|
+
toJSON(): object;
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XFormDefinition } from '../../XFormDefinition.ts';
|
|
2
|
+
import { UnknownAppearanceDefinition } from '../appearance/unknownAppearanceParser.ts';
|
|
3
|
+
import { BodyElementParentContext } from '../BodyDefinition.ts';
|
|
4
|
+
import { ControlDefinition } from './ControlDefinition.ts';
|
|
5
|
+
export declare class UploadControlDefinition extends ControlDefinition<'upload'> {
|
|
6
|
+
static isCompatible(localName: string): boolean;
|
|
7
|
+
readonly type = "upload";
|
|
8
|
+
readonly appearances: UnknownAppearanceDefinition;
|
|
9
|
+
constructor(form: XFormDefinition, parent: BodyElementParentContext, element: Element);
|
|
10
|
+
toJSON(): object;
|
|
11
|
+
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { ItemElement } from '
|
|
2
|
-
import { ItemLabelDefinition } from '../../../
|
|
1
|
+
import { ItemElement } from '../../../../lib/dom/query.ts';
|
|
2
|
+
import { ItemLabelDefinition } from '../../../text/ItemLabelDefinition.ts';
|
|
3
3
|
import { XFormDefinition } from '../../../XFormDefinition.ts';
|
|
4
4
|
import { BodyElementDefinition } from '../../BodyElementDefinition.ts';
|
|
5
5
|
import { AnySelectDefinition } from './SelectDefinition.ts';
|
|
6
|
-
|
|
7
6
|
export declare class ItemDefinition extends BodyElementDefinition<'item'> {
|
|
8
7
|
readonly parent: AnySelectDefinition;
|
|
9
8
|
readonly category = "support";
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
+
import { ItemsetElement } from '../../../../lib/dom/query.ts';
|
|
2
|
+
import { ItemsetNodesetExpression } from '../../../expression/ItemsetNodesetExpression.ts';
|
|
3
|
+
import { ItemsetValueExpression } from '../../../expression/ItemsetValueExpression.ts';
|
|
4
|
+
import { ItemsetLabelDefinition } from '../../../text/ItemsetLabelDefinition.ts';
|
|
1
5
|
import { XFormDefinition } from '../../../XFormDefinition.ts';
|
|
2
|
-
import { ItemsetElement } from '../../../lib/dom/query.ts';
|
|
3
|
-
import { ItemsetLabelDefinition } from '../../../parse/text/ItemsetLabelDefinition.ts';
|
|
4
6
|
import { BodyElementDefinition } from '../../BodyElementDefinition.ts';
|
|
5
|
-
import { ItemsetNodesetExpression } from './ItemsetNodesetExpression.ts';
|
|
6
|
-
import { ItemsetValueExpression } from './ItemsetValueExpression.ts';
|
|
7
7
|
import { AnySelectDefinition } from './SelectDefinition.ts';
|
|
8
|
-
|
|
9
8
|
export declare class ItemsetDefinition extends BodyElementDefinition<'itemset'> {
|
|
10
9
|
readonly parent: AnySelectDefinition;
|
|
11
10
|
readonly category = "support";
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import { DependencyContext } from '../../../expression/DependencyContext.ts';
|
|
2
|
-
import { AnyDependentExpression } from '../../../expression/DependentExpression.ts';
|
|
1
|
+
import { DependencyContext } from '../../../expression/abstract/DependencyContext.ts';
|
|
3
2
|
import { ItemsetDefinition } from './ItemsetDefinition.ts';
|
|
4
|
-
|
|
5
3
|
export declare class ItemsetNodesetContext extends DependencyContext {
|
|
6
4
|
protected readonly itemset: ItemsetDefinition;
|
|
7
5
|
readonly parentReference: null;
|
|
8
6
|
readonly reference: string;
|
|
9
7
|
constructor(itemset: ItemsetDefinition, nodesetExpression: string);
|
|
10
8
|
set isTranslated(value: true);
|
|
11
|
-
registerDependentExpression(expression: AnyDependentExpression): void;
|
|
12
9
|
}
|
|
@@ -1,20 +1,11 @@
|
|
|
1
|
-
import { CollectionValues } from '
|
|
2
|
-
import { LocalNamedElement } from '
|
|
1
|
+
import { CollectionValues } from '../../../../../../common/types/collections/CollectionValues.ts';
|
|
2
|
+
import { LocalNamedElement } from '../../../../../../common/types/dom.ts';
|
|
3
3
|
import { XFormDefinition } from '../../../XFormDefinition.ts';
|
|
4
|
-
import { AnyBodyElementDefinition, BodyElementParentContext } from '../../BodyDefinition.ts';
|
|
5
4
|
import { SelectAppearanceDefinition } from '../../appearance/selectAppearanceParser.ts';
|
|
5
|
+
import { AnyBodyElementDefinition, BodyElementParentContext } from '../../BodyDefinition.ts';
|
|
6
6
|
import { ControlDefinition } from '../ControlDefinition.ts';
|
|
7
7
|
import { ItemDefinition } from './ItemDefinition.ts';
|
|
8
8
|
import { ItemsetDefinition } from './ItemsetDefinition.ts';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* @todo We were previously a bit overzealous about introducing `<rank>` support
|
|
12
|
-
* here. It'll likely still fit, but we should approach it with more intention.
|
|
13
|
-
*
|
|
14
|
-
* @todo `<trigger>` is *almost* reasonable to support here too. The main
|
|
15
|
-
* hesitation is that its single, implicit "item" does not have a distinct
|
|
16
|
-
* <label>, and presumably has different UX **and translation** considerations.
|
|
17
|
-
*/
|
|
18
9
|
declare const selectLocalNames: Set<"select" | "select1">;
|
|
19
10
|
export type SelectType = CollectionValues<typeof selectLocalNames>;
|
|
20
11
|
export interface SelectElement extends LocalNamedElement<SelectType> {
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
+
import { LabelDefinition } from '../../text/LabelDefinition.ts';
|
|
1
2
|
import { XFormDefinition } from '../../XFormDefinition.ts';
|
|
2
|
-
import {
|
|
3
|
+
import { StructureElementAppearanceDefinition } from '../appearance/structureElementAppearanceParser.ts';
|
|
3
4
|
import { BodyElementDefinitionArray, BodyElementParentContext } from '../BodyDefinition.ts';
|
|
4
5
|
import { BodyElementDefinition } from '../BodyElementDefinition.ts';
|
|
5
|
-
import { StructureElementAppearanceDefinition } from '../appearance/structureElementAppearanceParser.ts';
|
|
6
|
-
|
|
7
6
|
/**
|
|
8
7
|
* These type names are derived from **and expand upon** the language used in
|
|
9
8
|
* the ODK XForms spec to describe various group usage. Whereas the spec
|
|
@@ -37,6 +36,5 @@ export declare abstract class BaseGroupDefinition<Type extends GroupType> extend
|
|
|
37
36
|
readonly reference: string | null;
|
|
38
37
|
readonly appearances: StructureElementAppearanceDefinition;
|
|
39
38
|
readonly label: LabelDefinition | null;
|
|
40
|
-
constructor(form: XFormDefinition, parent: BodyElementParentContext, element: Element
|
|
41
|
-
getChildren(element: Element): BodyElementDefinitionArray;
|
|
39
|
+
constructor(form: XFormDefinition, parent: BodyElementParentContext, element: Element);
|
|
42
40
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
+
import { LabelDefinition } from '../../text/LabelDefinition.ts';
|
|
1
2
|
import { XFormDefinition } from '../../XFormDefinition.ts';
|
|
2
|
-
import { LabelDefinition } from '../../parse/text/LabelDefinition.ts';
|
|
3
3
|
import { BodyElementParentContext } from '../BodyDefinition.ts';
|
|
4
4
|
import { BaseGroupDefinition } from './BaseGroupDefinition.ts';
|
|
5
|
-
|
|
6
5
|
export declare class PresentationGroupDefinition extends BaseGroupDefinition<'presentation-group'> {
|
|
7
6
|
static isCompatible(localName: string, element: Element): boolean;
|
|
8
7
|
readonly type = "presentation-group";
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { BindDefinition } from '../model/BindDefinition.ts';
|
|
2
|
+
import { DependentExpression } from './abstract/DependentExpression.ts';
|
|
4
3
|
declare const defaultBindComputationExpressions: {
|
|
5
4
|
readonly calculate: null;
|
|
6
5
|
readonly constraint: "true()";
|
|
@@ -11,7 +10,7 @@ declare const defaultBindComputationExpressions: {
|
|
|
11
10
|
};
|
|
12
11
|
type DefaultBindComputationExpressions = typeof defaultBindComputationExpressions;
|
|
13
12
|
export type BindComputationType = keyof DefaultBindComputationExpressions;
|
|
14
|
-
type BindComputationFactoryResult<Type extends BindComputationType> = DefaultBindComputationExpressions[Type] extends null ?
|
|
13
|
+
type BindComputationFactoryResult<Type extends BindComputationType> = DefaultBindComputationExpressions[Type] extends null ? BindComputationExpression<Type> | null : BindComputationExpression<Type>;
|
|
15
14
|
declare const bindComputationResultTypes: {
|
|
16
15
|
readonly calculate: "string";
|
|
17
16
|
readonly constraint: "boolean";
|
|
@@ -22,9 +21,9 @@ declare const bindComputationResultTypes: {
|
|
|
22
21
|
};
|
|
23
22
|
type BindComputationResultTypes = typeof bindComputationResultTypes;
|
|
24
23
|
export type BindComputationResultType<Computation extends BindComputationType> = BindComputationResultTypes[Computation];
|
|
25
|
-
export declare class
|
|
24
|
+
export declare class BindComputationExpression<Computation extends BindComputationType> extends DependentExpression<BindComputationResultType<Computation>> {
|
|
26
25
|
readonly computation: Computation;
|
|
27
|
-
static
|
|
26
|
+
static forComputation<Type extends BindComputationType>(bind: BindDefinition, computation: Type): BindComputationFactoryResult<Type>;
|
|
28
27
|
readonly isDefaultExpression: boolean;
|
|
29
28
|
protected constructor(bind: BindDefinition, computation: Computation, expression: string | null);
|
|
30
29
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { ItemsetDefinition } from '../body/control/select/ItemsetDefinition.ts';
|
|
2
|
+
import { DependentExpression } from './abstract/DependentExpression.ts';
|
|
4
3
|
export declare class ItemsetNodesetExpression extends DependentExpression<'nodes'> {
|
|
5
4
|
constructor(itemset: ItemsetDefinition, nodesetExpression: string);
|
|
6
5
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { ItemsetDefinition } from '../body/control/select/ItemsetDefinition.ts';
|
|
2
|
+
import { DependentExpression } from './abstract/DependentExpression.ts';
|
|
4
3
|
export declare class ItemsetValueExpression extends DependentExpression<'string'> {
|
|
5
4
|
readonly itemset: ItemsetDefinition;
|
|
6
5
|
constructor(itemset: ItemsetDefinition, expression: string);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { RepeatElementDefinition } from '
|
|
2
|
-
import { DependentExpression } from '
|
|
3
|
-
|
|
1
|
+
import { RepeatElementDefinition } from '../body/RepeatElementDefinition.ts';
|
|
2
|
+
import { DependentExpression } from './abstract/DependentExpression.ts';
|
|
4
3
|
/**
|
|
5
4
|
* Represents either of these
|
|
6
5
|
* {@link https://getodk.github.io/xforms-spec/#body-attributes | body attributes}:
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AnyTextRangeDefinition } from '../text/abstract/TextRangeDefinition.ts';
|
|
2
|
+
import { TextChunkExpression } from './abstract/TextChunkExpression.ts';
|
|
3
|
+
export type TextLiteralSourceNode = Attr | Text;
|
|
4
|
+
export declare class TextLiteralExpression extends TextChunkExpression<'literal'> {
|
|
5
|
+
readonly stringValue: string;
|
|
6
|
+
static from(context: AnyTextRangeDefinition, stringValue: string): TextLiteralExpression;
|
|
7
|
+
readonly source = "literal";
|
|
8
|
+
private constructor();
|
|
9
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AnyTextRangeDefinition } from '../text/abstract/TextRangeDefinition.ts';
|
|
2
|
+
import { TextChunkExpression } from './abstract/TextChunkExpression.ts';
|
|
3
|
+
export declare class TextOutputExpression extends TextChunkExpression<'output'> {
|
|
4
|
+
static from(context: AnyTextRangeDefinition, element: Element): TextOutputExpression | null;
|
|
5
|
+
readonly source = "output";
|
|
6
|
+
private constructor();
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AnyTextRangeDefinition } from '../text/abstract/TextRangeDefinition.ts';
|
|
2
|
+
import { TextChunkExpression } from './abstract/TextChunkExpression.ts';
|
|
3
|
+
export declare class TextReferenceExpression extends TextChunkExpression<'reference'> {
|
|
4
|
+
static from(context: AnyTextRangeDefinition, refExpression: string): TextReferenceExpression;
|
|
5
|
+
readonly source = "reference";
|
|
6
|
+
private constructor();
|
|
7
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AnyTextRangeDefinition } from '../text/abstract/TextRangeDefinition.ts';
|
|
2
|
+
import { TextChunkExpression } from './abstract/TextChunkExpression.ts';
|
|
3
|
+
export declare class TextTranslationExpression extends TextChunkExpression<'translation'> {
|
|
4
|
+
static fromMessage(context: AnyTextRangeDefinition, maybeExpression: string): TextTranslationExpression | null;
|
|
5
|
+
static from(context: AnyTextRangeDefinition, maybeExpression: string): TextTranslationExpression | null;
|
|
6
|
+
readonly source = "translation";
|
|
7
|
+
private constructor();
|
|
8
|
+
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ConstantExpression, ConstantTruthyExpression } from '
|
|
1
|
+
import { EngineXPathEvaluator } from '../../../integration/xpath/EngineXPathEvaluator.ts';
|
|
2
|
+
import { ConstantExpression, ConstantTruthyExpression } from '../../xpath/semantic-analysis.ts';
|
|
3
3
|
import { DependencyContext } from './DependencyContext.ts';
|
|
4
|
-
|
|
5
4
|
declare const evaluatorMethodsByResultType: {
|
|
6
5
|
readonly boolean: "evaluateBoolean";
|
|
7
6
|
readonly nodes: "evaluateNodes";
|
|
@@ -11,7 +10,7 @@ declare const evaluatorMethodsByResultType: {
|
|
|
11
10
|
type EvaluatorMethodsByResultType = typeof evaluatorMethodsByResultType;
|
|
12
11
|
export type DependentExpressionResultType = keyof EvaluatorMethodsByResultType;
|
|
13
12
|
export type DependentExpressionEvaluatorMethod<Type extends DependentExpressionResultType> = EvaluatorMethodsByResultType[Type];
|
|
14
|
-
export type DependentExpressionResult<Type extends DependentExpressionResultType> = ReturnType<
|
|
13
|
+
export type DependentExpressionResult<Type extends DependentExpressionResultType> = ReturnType<EngineXPathEvaluator[DependentExpressionEvaluatorMethod<Type>]>;
|
|
15
14
|
interface SemanticDependencyOptions {
|
|
16
15
|
/**
|
|
17
16
|
* @default false
|
|
@@ -31,10 +30,9 @@ export interface ConstantDependentExpression<Type extends DependentExpressionRes
|
|
|
31
30
|
export interface ConstantTruthyDependentExpression extends ConstantDependentExpression<'boolean'> {
|
|
32
31
|
readonly expression: ConstantTruthyExpression;
|
|
33
32
|
}
|
|
34
|
-
export declare class DependentExpression<Type extends DependentExpressionResultType> {
|
|
33
|
+
export declare abstract class DependentExpression<Type extends DependentExpressionResultType> {
|
|
35
34
|
readonly resultType: Type;
|
|
36
35
|
readonly expression: string;
|
|
37
|
-
readonly dependencyReferences: ReadonlySet<string>;
|
|
38
36
|
readonly isTranslated: boolean;
|
|
39
37
|
readonly evaluatorMethod: DependentExpressionEvaluatorMethod<Type>;
|
|
40
38
|
readonly constantExpression: ConstantExpression | null;
|