@getodk/xforms-engine 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/BaseNode.d.ts +4 -4
- package/dist/client/BaseValueNode.d.ts +7 -3
- package/dist/client/RootNode.d.ts +20 -16
- package/dist/client/constants.d.ts +11 -12
- package/dist/client/form/CreateFormInstance.d.ts +14 -0
- package/dist/client/form/EditFormInstance.d.ts +62 -0
- package/dist/client/form/FormInstance.d.ts +104 -0
- package/dist/client/form/FormInstanceConfig.d.ts +17 -0
- package/dist/client/form/FormResource.d.ts +1 -0
- package/dist/client/form/LoadForm.d.ts +79 -0
- package/dist/client/form/LoadFormResult.d.ts +67 -0
- package/dist/client/form/RestoreFormInstance.d.ts +8 -0
- package/dist/client/index.d.ts +37 -11
- package/dist/client/node-types.d.ts +2 -2
- package/dist/client/repeat/BaseRepeatRangeNode.d.ts +3 -4
- package/dist/client/repeat/RepeatInstanceNode.d.ts +4 -5
- package/dist/client/repeat/RepeatRangeControlledNode.d.ts +2 -2
- package/dist/client/repeat/RepeatRangeUncontrolledNode.d.ts +2 -2
- package/dist/client/resources.d.ts +1 -1
- package/dist/client/serialization/InstanceData.d.ts +12 -0
- package/dist/client/serialization/InstanceFile.d.ts +6 -0
- package/dist/client/serialization/InstancePayload.d.ts +93 -0
- package/dist/client/serialization/InstancePayloadOptions.d.ts +23 -0
- package/dist/client/serialization/InstanceState.d.ts +12 -0
- package/dist/client/submission/{SubmissionDefinition.d.ts → SubmissionMeta.d.ts} +1 -1
- package/dist/entrypoints/FormInstance.d.ts +20 -0
- package/dist/entrypoints/FormResult/BaseFormResult.d.ts +22 -0
- package/dist/entrypoints/FormResult/BaseInstantiableFormResult.d.ts +25 -0
- package/dist/entrypoints/FormResult/FormFailureResult.d.ts +17 -0
- package/dist/entrypoints/FormResult/FormSuccessResult.d.ts +15 -0
- package/dist/entrypoints/FormResult/FormWarningResult.d.ts +15 -0
- package/dist/entrypoints/createInstance.d.ts +9 -0
- package/dist/entrypoints/editInstance.d.ts +9 -0
- package/dist/entrypoints/index.d.ts +4 -0
- package/dist/entrypoints/loadForm.d.ts +4 -0
- package/dist/entrypoints/restoreInstance.d.ts +9 -0
- package/dist/error/LoadFormFailureError.d.ts +9 -0
- package/dist/error/MalformedInstanceDataError.d.ts +3 -0
- package/dist/error/TemplatedNodeAttributeSerializationError.d.ts +22 -0
- package/dist/index.d.ts +2 -33
- package/dist/index.js +1915 -1419
- package/dist/index.js.map +1 -1
- package/dist/instance/Group.d.ts +6 -5
- package/dist/instance/InputControl.d.ts +5 -4
- package/dist/instance/ModelValue.d.ts +5 -4
- package/dist/instance/Note.d.ts +4 -3
- package/dist/instance/PrimaryInstance.d.ts +35 -8
- package/dist/instance/RangeControl.d.ts +5 -4
- package/dist/instance/RankControl.d.ts +6 -5
- package/dist/instance/Root.d.ts +7 -9
- package/dist/instance/SelectControl.d.ts +4 -3
- package/dist/instance/Subtree.d.ts +6 -5
- package/dist/instance/TriggerControl.d.ts +4 -3
- package/dist/instance/abstract/DescendantNode.d.ts +10 -1
- package/dist/instance/abstract/InstanceNode.d.ts +7 -4
- package/dist/instance/abstract/ValueNode.d.ts +7 -5
- package/dist/instance/children/DescendantNodeInitOptions.d.ts +32 -0
- package/dist/instance/{children.d.ts → children/buildChildren.d.ts} +1 -1
- package/dist/instance/children/childrenInitOptions.d.ts +9 -0
- package/dist/instance/children/normalizeChildInitOptions.d.ts +2 -0
- package/dist/instance/input/InitialInstanceState.d.ts +13 -0
- package/dist/instance/input/InstanceAttachmentMap.d.ts +19 -0
- package/dist/instance/internal-api/InstanceConfig.d.ts +2 -9
- package/dist/instance/internal-api/InstanceValueContext.d.ts +8 -1
- package/dist/instance/internal-api/serialization/ClientReactiveSerializableInstance.d.ts +14 -0
- package/dist/instance/internal-api/serialization/ClientReactiveSerializableLeafNode.d.ts +32 -0
- package/dist/instance/internal-api/serialization/ClientReactiveSerializableParentNode.d.ts +18 -0
- package/dist/instance/internal-api/serialization/ClientReactiveSerializableTemplatedNode.d.ts +13 -0
- package/dist/instance/internal-api/serialization/ClientReactiveSerializableValueNode.d.ts +21 -0
- package/dist/instance/repeat/BaseRepeatRange.d.ts +10 -8
- package/dist/instance/repeat/RepeatInstance.d.ts +10 -7
- package/dist/instance/repeat/RepeatRangeControlled.d.ts +27 -3
- package/dist/instance/repeat/RepeatRangeUncontrolled.d.ts +4 -3
- package/dist/instance/resource.d.ts +5 -1
- package/dist/instance/unsupported/UploadControl.d.ts +32 -4
- package/dist/integration/xpath/EngineXPathEvaluator.d.ts +2 -2
- package/dist/integration/xpath/adapter/kind.d.ts +4 -10
- package/dist/integration/xpath/static-dom/StaticAttribute.d.ts +4 -5
- package/dist/integration/xpath/static-dom/StaticDocument.d.ts +13 -10
- package/dist/integration/xpath/static-dom/StaticElement.d.ts +21 -22
- package/dist/integration/xpath/static-dom/StaticNode.d.ts +1 -1
- package/dist/integration/xpath/static-dom/StaticParentNode.d.ts +13 -0
- package/dist/integration/xpath/static-dom/staticNodeName.d.ts +3 -0
- package/dist/lib/client-reactivity/instance-state/createNodeRangeInstanceState.d.ts +4 -0
- package/dist/lib/client-reactivity/instance-state/createParentNodeInstanceState.d.ts +4 -0
- package/dist/lib/client-reactivity/instance-state/createPrimaryInstanceState.d.ts +3 -0
- package/dist/lib/client-reactivity/instance-state/createRootInstanceState.d.ts +3 -0
- package/dist/lib/client-reactivity/instance-state/createTemplatedNodeInstanceState.d.ts +6 -0
- package/dist/lib/client-reactivity/instance-state/createValueNodeInstanceState.d.ts +3 -0
- package/dist/lib/client-reactivity/instance-state/prepareInstancePayload.d.ts +8 -0
- package/dist/lib/codecs/TempUnsupportedControlCodec.d.ts +7 -0
- package/dist/lib/names/UnprefixedXFormsName.d.ts +4 -0
- package/dist/lib/reactivity/createInstanceValueState.d.ts +2 -27
- package/dist/parse/XFormDOM.d.ts +1 -1
- package/dist/parse/model/BindDefinition.d.ts +1 -1
- package/dist/parse/model/ItextTranslationsDefinition.d.ts +18 -0
- package/dist/parse/model/LeafNodeDefinition.d.ts +4 -5
- package/dist/parse/model/ModelBindMap.d.ts +1 -1
- package/dist/parse/model/ModelDefinition.d.ts +9 -2
- package/dist/parse/model/NodeDefinition.d.ts +18 -30
- package/dist/parse/model/NoteNodeDefinition.d.ts +3 -2
- package/dist/parse/model/RangeNodeDefinition.d.ts +2 -1
- package/dist/parse/model/RepeatDefinition.d.ts +62 -0
- package/dist/parse/model/RootAttributeDefinition.d.ts +1 -4
- package/dist/parse/model/RootAttributeMap.d.ts +2 -1
- package/dist/parse/model/RootDefinition.d.ts +7 -8
- package/dist/parse/model/SecondaryInstance/SecondaryInstancesDefinition.d.ts +15 -2
- package/dist/parse/model/SecondaryInstance/assertSecondaryInstanceDefinition.d.ts +5 -0
- package/dist/parse/model/SecondaryInstance/defineSecondaryInstance.d.ts +5 -0
- package/dist/parse/model/SecondaryInstance/sources/BlankSecondaryInstanceSource.d.ts +1 -7
- package/dist/parse/model/SecondaryInstance/sources/CSVExternalSecondaryInstance.d.ts +1 -1
- package/dist/parse/model/SecondaryInstance/sources/GeoJSONExternalSecondaryInstance.d.ts +1 -1
- package/dist/parse/model/SecondaryInstance/sources/InternalSecondaryInstanceSource.d.ts +1 -1
- package/dist/parse/model/SecondaryInstance/sources/SecondaryInstanceSource.d.ts +1 -1
- package/dist/parse/model/SecondaryInstance/sources/XMLExternalSecondaryInstanceSource.d.ts +1 -1
- package/dist/parse/model/{FormSubmissionDefinition.d.ts → SubmissionDefinition.d.ts} +2 -2
- package/dist/parse/model/SubtreeDefinition.d.ts +4 -5
- package/dist/parse/model/nodeDefinitionMap.d.ts +5 -0
- package/dist/parse/shared/parseInstanceXML.d.ts +21 -0
- package/dist/parse/shared/parseStaticDocumentFromDOMSubtree.d.ts +4 -21
- package/dist/solid.js +1709 -1213
- package/dist/solid.js.map +1 -1
- package/package.json +1 -1
- package/src/client/BaseNode.ts +4 -4
- package/src/client/BaseValueNode.ts +7 -3
- package/src/client/RootNode.ts +27 -19
- package/src/client/constants.ts +12 -14
- package/src/client/form/CreateFormInstance.ts +19 -0
- package/src/client/form/EditFormInstance.ts +93 -0
- package/src/client/form/FormInstance.ts +114 -0
- package/src/client/form/FormInstanceConfig.ts +18 -0
- package/src/client/form/FormResource.ts +1 -0
- package/src/client/form/LoadForm.ts +92 -0
- package/src/client/form/LoadFormResult.ts +103 -0
- package/src/client/form/RestoreFormInstance.ts +14 -0
- package/src/client/index.ts +47 -29
- package/src/client/node-types.ts +2 -4
- package/src/client/repeat/BaseRepeatRangeNode.ts +3 -4
- package/src/client/repeat/RepeatInstanceNode.ts +4 -8
- package/src/client/repeat/RepeatRangeControlledNode.ts +2 -2
- package/src/client/repeat/RepeatRangeUncontrolledNode.ts +2 -2
- package/src/client/resources.ts +2 -2
- package/src/client/serialization/InstanceData.ts +16 -0
- package/src/client/serialization/InstanceFile.ts +9 -0
- package/src/client/serialization/InstancePayload.ts +126 -0
- package/src/client/serialization/InstancePayloadOptions.ts +28 -0
- package/src/client/serialization/InstanceState.ts +14 -0
- package/src/client/submission/{SubmissionDefinition.ts → SubmissionMeta.ts} +1 -1
- package/src/entrypoints/FormInstance.ts +55 -0
- package/src/entrypoints/FormResult/BaseFormResult.ts +40 -0
- package/src/entrypoints/FormResult/BaseInstantiableFormResult.ts +109 -0
- package/src/entrypoints/FormResult/FormFailureResult.ts +44 -0
- package/src/entrypoints/FormResult/FormSuccessResult.ts +25 -0
- package/src/entrypoints/FormResult/FormWarningResult.ts +25 -0
- package/src/entrypoints/createInstance.ts +23 -0
- package/src/entrypoints/editInstance.ts +24 -0
- package/src/entrypoints/index.ts +4 -0
- package/src/entrypoints/loadForm.ts +154 -0
- package/src/entrypoints/restoreInstance.ts +27 -0
- package/src/error/LoadFormFailureError.ts +114 -0
- package/src/error/MalformedInstanceDataError.ts +3 -0
- package/src/error/TemplatedNodeAttributeSerializationError.ts +24 -0
- package/src/index.ts +2 -46
- package/src/instance/Group.ts +16 -15
- package/src/instance/InputControl.ts +17 -11
- package/src/instance/ModelValue.ts +17 -11
- package/src/instance/Note.ts +10 -9
- package/src/instance/PrimaryInstance.ts +69 -31
- package/src/instance/RangeControl.ts +17 -11
- package/src/instance/RankControl.ts +28 -19
- package/src/instance/Root.ts +20 -31
- package/src/instance/SelectControl.ts +21 -12
- package/src/instance/Subtree.ts +16 -15
- package/src/instance/TriggerControl.ts +21 -12
- package/src/instance/abstract/DescendantNode.ts +12 -2
- package/src/instance/abstract/InstanceNode.ts +9 -5
- package/src/instance/abstract/ValueNode.ts +11 -13
- package/src/instance/children/DescendantNodeInitOptions.ts +35 -0
- package/src/instance/{children.ts → children/buildChildren.ts} +55 -48
- package/src/instance/children/childrenInitOptions.ts +117 -0
- package/src/instance/children/normalizeChildInitOptions.ts +332 -0
- package/src/instance/input/InitialInstanceState.ts +108 -0
- package/src/instance/input/InstanceAttachmentMap.ts +142 -0
- package/src/instance/internal-api/InstanceConfig.ts +3 -10
- package/src/instance/internal-api/InstanceValueContext.ts +9 -1
- package/src/instance/internal-api/serialization/ClientReactiveSerializableInstance.ts +20 -0
- package/src/instance/internal-api/serialization/ClientReactiveSerializableLeafNode.ts +43 -0
- package/src/instance/internal-api/serialization/ClientReactiveSerializableParentNode.ts +26 -0
- package/src/instance/internal-api/serialization/ClientReactiveSerializableTemplatedNode.ts +24 -0
- package/src/instance/internal-api/serialization/ClientReactiveSerializableValueNode.ts +28 -0
- package/src/instance/repeat/BaseRepeatRange.ts +19 -24
- package/src/instance/repeat/RepeatInstance.ts +26 -19
- package/src/instance/repeat/RepeatRangeControlled.ts +90 -17
- package/src/instance/repeat/RepeatRangeUncontrolled.ts +10 -9
- package/src/instance/resource.ts +14 -1
- package/src/instance/unsupported/UploadControl.ts +116 -5
- package/src/integration/xpath/EngineXPathEvaluator.ts +2 -2
- package/src/integration/xpath/adapter/kind.ts +1 -28
- package/src/integration/xpath/adapter/traversal.ts +2 -2
- package/src/integration/xpath/static-dom/StaticAttribute.ts +6 -5
- package/src/integration/xpath/static-dom/StaticDocument.ts +17 -16
- package/src/integration/xpath/static-dom/StaticElement.ts +196 -50
- package/src/integration/xpath/static-dom/StaticNode.ts +1 -1
- package/src/integration/xpath/static-dom/StaticParentNode.ts +22 -0
- package/src/integration/xpath/static-dom/staticNodeName.ts +20 -0
- package/src/lib/client-reactivity/instance-state/createNodeRangeInstanceState.ts +17 -0
- package/src/lib/client-reactivity/instance-state/createParentNodeInstanceState.ts +22 -0
- package/src/lib/client-reactivity/instance-state/createPrimaryInstanceState.ts +12 -0
- package/src/lib/client-reactivity/{submission/createRootSubmissionState.ts → instance-state/createRootInstanceState.ts} +4 -4
- package/src/lib/client-reactivity/instance-state/createTemplatedNodeInstanceState.ts +31 -0
- package/src/lib/client-reactivity/instance-state/createValueNodeInstanceState.ts +21 -0
- package/src/lib/client-reactivity/instance-state/prepareInstancePayload.ts +173 -0
- package/src/lib/codecs/TempUnsupportedControlCodec.ts +32 -0
- package/src/lib/names/UnprefixedXFormsName.ts +12 -0
- package/src/lib/reactivity/createInstanceValueState.ts +27 -51
- package/src/parse/model/ItextTranslationsDefinition.ts +79 -0
- package/src/parse/model/LeafNodeDefinition.ts +3 -5
- package/src/parse/model/ModelDefinition.ts +36 -3
- package/src/parse/model/NodeDefinition.ts +19 -45
- package/src/parse/model/NoteNodeDefinition.ts +4 -3
- package/src/parse/model/RangeNodeDefinition.ts +3 -2
- package/src/parse/model/RepeatDefinition.ts +382 -0
- package/src/parse/model/RootAttributeDefinition.ts +6 -7
- package/src/parse/model/RootAttributeMap.ts +15 -10
- package/src/parse/model/RootDefinition.ts +17 -19
- package/src/parse/model/SecondaryInstance/SecondaryInstancesDefinition.ts +23 -2
- package/src/parse/model/SecondaryInstance/assertSecondaryInstanceDefinition.ts +14 -0
- package/src/parse/model/SecondaryInstance/defineSecondaryInstance.ts +32 -0
- package/src/parse/model/SecondaryInstance/sources/BlankSecondaryInstanceSource.ts +3 -24
- package/src/parse/model/SecondaryInstance/sources/CSVExternalSecondaryInstance.ts +33 -86
- package/src/parse/model/SecondaryInstance/sources/GeoJSONExternalSecondaryInstance.ts +64 -137
- package/src/parse/model/SecondaryInstance/sources/InternalSecondaryInstanceSource.ts +9 -7
- package/src/parse/model/SecondaryInstance/sources/SecondaryInstanceSource.ts +1 -1
- package/src/parse/model/SecondaryInstance/sources/XMLExternalSecondaryInstanceSource.ts +7 -7
- package/src/parse/model/{FormSubmissionDefinition.ts → SubmissionDefinition.ts} +2 -2
- package/src/parse/model/SubtreeDefinition.ts +4 -5
- package/src/parse/model/nodeDefinitionMap.ts +34 -0
- package/src/parse/shared/parseInstanceXML.ts +79 -0
- package/src/parse/shared/parseStaticDocumentFromDOMSubtree.ts +45 -130
- package/dist/client/EngineConfig.d.ts +0 -79
- package/dist/client/submission/SubmissionData.d.ts +0 -7
- package/dist/client/submission/SubmissionInstanceFile.d.ts +0 -6
- package/dist/client/submission/SubmissionOptions.d.ts +0 -23
- package/dist/client/submission/SubmissionResult.d.ts +0 -91
- package/dist/client/submission/SubmissionState.d.ts +0 -12
- package/dist/instance/abstract/UnsupportedControl.d.ts +0 -54
- package/dist/instance/index.d.ts +0 -8
- package/dist/instance/internal-api/ValueContext.d.ts +0 -23
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableInstance.d.ts +0 -14
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableLeafNode.d.ts +0 -32
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableParentNode.d.ts +0 -19
- package/dist/instance/internal-api/submission/ClientReactiveSubmittableValueNode.d.ts +0 -18
- package/dist/lib/client-reactivity/submission/createInstanceSubmissionState.d.ts +0 -3
- package/dist/lib/client-reactivity/submission/createLeafNodeSubmissionState.d.ts +0 -3
- package/dist/lib/client-reactivity/submission/createNodeRangeSubmissionState.d.ts +0 -4
- package/dist/lib/client-reactivity/submission/createParentNodeSubmissionState.d.ts +0 -4
- package/dist/lib/client-reactivity/submission/createRootSubmissionState.d.ts +0 -3
- package/dist/lib/client-reactivity/submission/createValueNodeSubmissionState.d.ts +0 -3
- package/dist/lib/client-reactivity/submission/prepareSubmission.d.ts +0 -8
- package/dist/lib/reactivity/createValueState.d.ts +0 -40
- package/dist/parse/model/ItextTranslation/ItextTranslationDefinition.d.ts +0 -4
- package/dist/parse/model/ItextTranslation/ItextTranslationRootDefinition.d.ts +0 -9
- package/dist/parse/model/ItextTranslation/ItextTranslationsDefinition.d.ts +0 -8
- package/dist/parse/model/RepeatInstanceDefinition.d.ts +0 -17
- package/dist/parse/model/RepeatRangeDefinition.d.ts +0 -32
- package/dist/parse/model/RepeatTemplateDefinition.d.ts +0 -31
- package/dist/parse/model/SecondaryInstance/SecondaryInstanceDefinition.d.ts +0 -4
- package/dist/parse/model/SecondaryInstance/SecondaryInstanceRootDefinition.d.ts +0 -7
- package/src/client/EngineConfig.ts +0 -84
- package/src/client/submission/SubmissionData.ts +0 -12
- package/src/client/submission/SubmissionInstanceFile.ts +0 -9
- package/src/client/submission/SubmissionOptions.ts +0 -28
- package/src/client/submission/SubmissionResult.ts +0 -124
- package/src/client/submission/SubmissionState.ts +0 -14
- package/src/instance/abstract/UnsupportedControl.ts +0 -175
- package/src/instance/index.ts +0 -55
- package/src/instance/internal-api/ValueContext.ts +0 -28
- package/src/instance/internal-api/submission/ClientReactiveSubmittableInstance.ts +0 -20
- package/src/instance/internal-api/submission/ClientReactiveSubmittableLeafNode.ts +0 -43
- package/src/instance/internal-api/submission/ClientReactiveSubmittableParentNode.ts +0 -26
- package/src/instance/internal-api/submission/ClientReactiveSubmittableValueNode.ts +0 -24
- package/src/lib/client-reactivity/submission/createInstanceSubmissionState.ts +0 -12
- package/src/lib/client-reactivity/submission/createLeafNodeSubmissionState.ts +0 -20
- package/src/lib/client-reactivity/submission/createNodeRangeSubmissionState.ts +0 -17
- package/src/lib/client-reactivity/submission/createParentNodeSubmissionState.ts +0 -22
- package/src/lib/client-reactivity/submission/createValueNodeSubmissionState.ts +0 -21
- package/src/lib/client-reactivity/submission/prepareSubmission.ts +0 -172
- package/src/lib/reactivity/createValueState.ts +0 -200
- package/src/parse/model/ItextTranslation/ItextTranslationDefinition.ts +0 -4
- package/src/parse/model/ItextTranslation/ItextTranslationRootDefinition.ts +0 -42
- package/src/parse/model/ItextTranslation/ItextTranslationsDefinition.ts +0 -31
- package/src/parse/model/RepeatInstanceDefinition.ts +0 -38
- package/src/parse/model/RepeatRangeDefinition.ts +0 -98
- package/src/parse/model/RepeatTemplateDefinition.ts +0 -149
- package/src/parse/model/SecondaryInstance/SecondaryInstanceDefinition.ts +0 -4
- package/src/parse/model/SecondaryInstance/SecondaryInstanceRootDefinition.ts +0 -12
package/dist/instance/Group.d.ts
CHANGED
|
@@ -2,10 +2,11 @@ import { XPathNodeKindKey } from '@getodk/xpath';
|
|
|
2
2
|
import { Accessor } from 'solid-js';
|
|
3
3
|
import { GroupDefinition, GroupNode, GroupNodeAppearances } from '../client/GroupNode.ts';
|
|
4
4
|
import { FormNodeID } from '../client/identity.ts';
|
|
5
|
-
import {
|
|
5
|
+
import { InstanceState } from '../client/serialization/InstanceState.ts';
|
|
6
6
|
import { TextRange } from '../client/TextRange.ts';
|
|
7
7
|
import { AncestorNodeValidationState } from '../client/validation.ts';
|
|
8
8
|
import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
|
|
9
|
+
import { StaticElement } from '../integration/xpath/static-dom/StaticElement.ts';
|
|
9
10
|
import { MaterializedChildren } from '../lib/reactivity/materializeCurrentStateChildren.ts';
|
|
10
11
|
import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
|
|
11
12
|
import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
|
|
@@ -13,7 +14,7 @@ import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeSt
|
|
|
13
14
|
import { DescendantNodeSharedStateSpec, DescendantNode } from './abstract/DescendantNode.ts';
|
|
14
15
|
import { GeneralChildNode, GeneralParentNode } from './hierarchy.ts';
|
|
15
16
|
import { EvaluationContext } from './internal-api/EvaluationContext.ts';
|
|
16
|
-
import {
|
|
17
|
+
import { ClientReactiveSerializableParentNode } from './internal-api/serialization/ClientReactiveSerializableParentNode.ts';
|
|
17
18
|
interface GroupStateSpec extends DescendantNodeSharedStateSpec {
|
|
18
19
|
readonly label: Accessor<TextRange<'label'> | null>;
|
|
19
20
|
readonly hint: null;
|
|
@@ -21,7 +22,7 @@ interface GroupStateSpec extends DescendantNodeSharedStateSpec {
|
|
|
21
22
|
readonly valueOptions: null;
|
|
22
23
|
readonly value: null;
|
|
23
24
|
}
|
|
24
|
-
export declare class Group extends DescendantNode<GroupDefinition, GroupStateSpec, GeneralParentNode, GeneralChildNode> implements GroupNode, XFormsXPathElement, EvaluationContext,
|
|
25
|
+
export declare class Group extends DescendantNode<GroupDefinition, GroupStateSpec, GeneralParentNode, GeneralChildNode> implements GroupNode, XFormsXPathElement, EvaluationContext, ClientReactiveSerializableParentNode<GeneralChildNode> {
|
|
25
26
|
private readonly childrenState;
|
|
26
27
|
readonly [XPathNodeKindKey] = "element";
|
|
27
28
|
protected readonly state: SharedNodeState<GroupStateSpec>;
|
|
@@ -31,8 +32,8 @@ export declare class Group extends DescendantNode<GroupDefinition, GroupStateSpe
|
|
|
31
32
|
readonly nodeOptions: null;
|
|
32
33
|
readonly currentState: MaterializedChildren<CurrentState<GroupStateSpec>, GeneralChildNode>;
|
|
33
34
|
readonly validationState: AncestorNodeValidationState;
|
|
34
|
-
readonly
|
|
35
|
-
constructor(parent: GeneralParentNode, definition: GroupDefinition);
|
|
35
|
+
readonly instanceState: InstanceState;
|
|
36
|
+
constructor(parent: GeneralParentNode, instanceNode: StaticElement | null, definition: GroupDefinition);
|
|
36
37
|
getChildren(): readonly GeneralChildNode[];
|
|
37
38
|
}
|
|
38
39
|
export {};
|
|
@@ -4,6 +4,7 @@ import { InputDefinition, InputNode, InputNodeAppearances, InputNodeInputValue,
|
|
|
4
4
|
import { TextRange } from '../client/TextRange.ts';
|
|
5
5
|
import { ValueType } from '../client/ValueType.ts';
|
|
6
6
|
import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
|
|
7
|
+
import { StaticLeafElement } from '../integration/xpath/static-dom/StaticElement.ts';
|
|
7
8
|
import { RuntimeInputValue, RuntimeValue } from '../lib/codecs/getSharedValueCodec.ts';
|
|
8
9
|
import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
|
|
9
10
|
import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
|
|
@@ -11,7 +12,7 @@ import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeSt
|
|
|
11
12
|
import { ValueNode, ValueNodeStateSpec } from './abstract/ValueNode.ts';
|
|
12
13
|
import { GeneralParentNode } from './hierarchy.ts';
|
|
13
14
|
import { EvaluationContext } from './internal-api/EvaluationContext.ts';
|
|
14
|
-
import {
|
|
15
|
+
import { ClientReactiveSerializableValueNode } from './internal-api/serialization/ClientReactiveSerializableValueNode.ts';
|
|
15
16
|
import { ValidationContext } from './internal-api/ValidationContext.ts';
|
|
16
17
|
import { Root } from './Root.ts';
|
|
17
18
|
export type AnyInputDefinition = {
|
|
@@ -22,8 +23,8 @@ interface InputControlStateSpec<V extends ValueType> extends ValueNodeStateSpec<
|
|
|
22
23
|
readonly hint: Accessor<TextRange<'hint'> | null>;
|
|
23
24
|
readonly valueOptions: null;
|
|
24
25
|
}
|
|
25
|
-
export declare class InputControl<V extends ValueType = ValueType> extends ValueNode<V, InputDefinition<V>, RuntimeValue<V>, RuntimeInputValue<V>> implements InputNode<V>, XFormsXPathElement, EvaluationContext, ValidationContext,
|
|
26
|
-
static from(parent: GeneralParentNode, definition: InputDefinition): AnyInputControl;
|
|
26
|
+
export declare class InputControl<V extends ValueType = ValueType> extends ValueNode<V, InputDefinition<V>, RuntimeValue<V>, RuntimeInputValue<V>> implements InputNode<V>, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSerializableValueNode {
|
|
27
|
+
static from(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: InputDefinition): AnyInputControl;
|
|
27
28
|
readonly [XPathNodeKindKey] = "element";
|
|
28
29
|
protected readonly state: SharedNodeState<InputControlStateSpec<V>>;
|
|
29
30
|
protected readonly engineState: EngineState<InputControlStateSpec<V>>;
|
|
@@ -31,7 +32,7 @@ export declare class InputControl<V extends ValueType = ValueType> extends Value
|
|
|
31
32
|
readonly appearances: InputNodeAppearances;
|
|
32
33
|
readonly nodeOptions: InputNodeOptions<V>;
|
|
33
34
|
readonly currentState: CurrentState<InputControlStateSpec<V>>;
|
|
34
|
-
constructor(parent: GeneralParentNode, definition: InputDefinition<V>);
|
|
35
|
+
constructor(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: InputDefinition<V>);
|
|
35
36
|
setValue(value: InputNodeInputValue<V>): Root;
|
|
36
37
|
}
|
|
37
38
|
export type AnyInputControl = InputControl<'barcode'> | InputControl<'binary'> | InputControl<'boolean'> | InputControl<'date'> | InputControl<'dateTime'> | InputControl<'decimal'> | InputControl<'geopoint'> | InputControl<'geoshape'> | InputControl<'geotrace'> | InputControl<'int'> | InputControl<'intent'> | InputControl<'string'> | InputControl<'time'>;
|
|
@@ -2,6 +2,7 @@ import { XPathNodeKindKey } from '@getodk/xpath';
|
|
|
2
2
|
import { ModelValueDefinition, ModelValueNode } from '../client/ModelValueNode.ts';
|
|
3
3
|
import { ValueType } from '../client/ValueType.ts';
|
|
4
4
|
import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
|
|
5
|
+
import { StaticLeafElement } from '../integration/xpath/static-dom/StaticElement.ts';
|
|
5
6
|
import { RuntimeInputValue, RuntimeValue } from '../lib/codecs/getSharedValueCodec.ts';
|
|
6
7
|
import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
|
|
7
8
|
import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
|
|
@@ -10,14 +11,14 @@ import { ValueNode, ValueNodeStateSpec } from './abstract/ValueNode.ts';
|
|
|
10
11
|
import { GeneralParentNode } from './hierarchy.ts';
|
|
11
12
|
import { EvaluationContext } from './internal-api/EvaluationContext.ts';
|
|
12
13
|
import { ValidationContext } from './internal-api/ValidationContext.ts';
|
|
13
|
-
import {
|
|
14
|
+
import { ClientReactiveSerializableValueNode } from './internal-api/serialization/ClientReactiveSerializableValueNode.ts';
|
|
14
15
|
interface ModelValueStateSpec<V extends ValueType> extends ValueNodeStateSpec<RuntimeValue<V>> {
|
|
15
16
|
readonly label: null;
|
|
16
17
|
readonly hint: null;
|
|
17
18
|
readonly valueOptions: null;
|
|
18
19
|
}
|
|
19
|
-
export declare class ModelValue<V extends ValueType = ValueType> extends ValueNode<V, ModelValueDefinition<V>, RuntimeValue<V>, RuntimeInputValue<V>> implements ModelValueNode<V>, XFormsXPathElement, EvaluationContext, ValidationContext,
|
|
20
|
-
static from(parent: GeneralParentNode, definition: ModelValueDefinition): AnyModelValue;
|
|
20
|
+
export declare class ModelValue<V extends ValueType = ValueType> extends ValueNode<V, ModelValueDefinition<V>, RuntimeValue<V>, RuntimeInputValue<V>> implements ModelValueNode<V>, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSerializableValueNode {
|
|
21
|
+
static from(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: ModelValueDefinition): AnyModelValue;
|
|
21
22
|
readonly [XPathNodeKindKey] = "element";
|
|
22
23
|
protected readonly state: SharedNodeState<ModelValueStateSpec<V>>;
|
|
23
24
|
protected readonly engineState: EngineState<ModelValueStateSpec<V>>;
|
|
@@ -25,7 +26,7 @@ export declare class ModelValue<V extends ValueType = ValueType> extends ValueNo
|
|
|
25
26
|
readonly appearances: null;
|
|
26
27
|
readonly nodeOptions: null;
|
|
27
28
|
readonly currentState: CurrentState<ModelValueStateSpec<V>>;
|
|
28
|
-
constructor(parent: GeneralParentNode, definition: ModelValueDefinition<V>);
|
|
29
|
+
constructor(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: ModelValueDefinition<V>);
|
|
29
30
|
}
|
|
30
31
|
export type AnyModelValue = ModelValue<'barcode'> | ModelValue<'binary'> | ModelValue<'boolean'> | ModelValue<'date'> | ModelValue<'dateTime'> | ModelValue<'decimal'> | ModelValue<'geopoint'> | ModelValue<'geoshape'> | ModelValue<'geotrace'> | ModelValue<'int'> | ModelValue<'intent'> | ModelValue<'string'> | ModelValue<'time'>;
|
|
31
32
|
export {};
|
package/dist/instance/Note.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { NoteNode, NoteNodeAppearances, NoteValue } from '../client/NoteNode.ts'
|
|
|
4
4
|
import { TextRange } from '../client/TextRange.ts';
|
|
5
5
|
import { ValueType } from '../client/ValueType.ts';
|
|
6
6
|
import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
|
|
7
|
+
import { StaticLeafElement } from '../integration/xpath/static-dom/StaticElement.ts';
|
|
7
8
|
import { NoteInputValue, NoteRuntimeValue } from '../lib/codecs/NoteCodec.ts';
|
|
8
9
|
import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
|
|
9
10
|
import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
|
|
@@ -13,7 +14,7 @@ import { NoteNodeDefinition } from '../parse/model/NoteNodeDefinition.ts';
|
|
|
13
14
|
import { ValueNode, ValueNodeStateSpec } from './abstract/ValueNode.ts';
|
|
14
15
|
import { GeneralParentNode } from './hierarchy.ts';
|
|
15
16
|
import { EvaluationContext } from './internal-api/EvaluationContext.ts';
|
|
16
|
-
import {
|
|
17
|
+
import { ClientReactiveSerializableValueNode } from './internal-api/serialization/ClientReactiveSerializableValueNode.ts';
|
|
17
18
|
import { ValidationContext } from './internal-api/ValidationContext.ts';
|
|
18
19
|
interface NoteStateSpec<V extends ValueType> extends ValueNodeStateSpec<NoteValue<V>> {
|
|
19
20
|
readonly readonly: Accessor<true>;
|
|
@@ -22,7 +23,7 @@ interface NoteStateSpec<V extends ValueType> extends ValueNodeStateSpec<NoteValu
|
|
|
22
23
|
readonly hint: Accessor<TextRange<'hint', 'form'> | null>;
|
|
23
24
|
readonly valueOptions: null;
|
|
24
25
|
}
|
|
25
|
-
export declare class Note<V extends ValueType = ValueType> extends ValueNode<V, NoteNodeDefinition<V>, NoteRuntimeValue<V>, NoteInputValue<V>> implements NoteNode, XFormsXPathElement, EvaluationContext, ValidationContext,
|
|
26
|
+
export declare class Note<V extends ValueType = ValueType> extends ValueNode<V, NoteNodeDefinition<V>, NoteRuntimeValue<V>, NoteInputValue<V>> implements NoteNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSerializableValueNode {
|
|
26
27
|
readonly [XPathNodeKindKey] = "element";
|
|
27
28
|
protected readonly state: SharedNodeState<NoteStateSpec<V>>;
|
|
28
29
|
protected readonly engineState: EngineState<NoteStateSpec<V>>;
|
|
@@ -30,7 +31,7 @@ export declare class Note<V extends ValueType = ValueType> extends ValueNode<V,
|
|
|
30
31
|
readonly appearances: NoteNodeAppearances;
|
|
31
32
|
readonly nodeOptions: null;
|
|
32
33
|
readonly currentState: CurrentState<NoteStateSpec<V>>;
|
|
33
|
-
constructor(parent: GeneralParentNode, definition: NoteNodeDefinition<V>);
|
|
34
|
+
constructor(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: NoteNodeDefinition<V>);
|
|
34
35
|
}
|
|
35
36
|
export type AnyNote = Note<'barcode'> | Note<'binary'> | Note<'boolean'> | Note<'date'> | Note<'dateTime'> | Note<'decimal'> | Note<'geopoint'> | Note<'geoshape'> | Note<'geotrace'> | Note<'int'> | Note<'intent'> | Note<'string'> | Note<'time'>;
|
|
36
37
|
export {};
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { XPathNodeKindKey } from '@getodk/xpath';
|
|
2
2
|
import { Accessor } from 'solid-js';
|
|
3
|
+
import { FormInstanceInitializationMode } from '../client/form/FormInstance.ts';
|
|
3
4
|
import { ActiveLanguage, FormLanguage, FormLanguages } from '../client/FormLanguage.ts';
|
|
4
5
|
import { FormNodeID } from '../client/identity.ts';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { InstancePayload } from '../client/serialization/InstancePayload.ts';
|
|
7
|
+
import { InstancePayloadOptions, InstancePayloadType } from '../client/serialization/InstancePayloadOptions.ts';
|
|
8
|
+
import { InstanceState } from '../client/serialization/InstanceState.ts';
|
|
8
9
|
import { AncestorNodeValidationState } from '../client/validation.ts';
|
|
9
10
|
import { XFormsXPathDocument } from '../integration/xpath/adapter/XFormsXPathNode.ts';
|
|
10
11
|
import { EngineXPathEvaluator } from '../integration/xpath/EngineXPathEvaluator.ts';
|
|
12
|
+
import { StaticDocument } from '../integration/xpath/static-dom/StaticDocument.ts';
|
|
11
13
|
import { MaterializedChildren } from '../lib/reactivity/materializeCurrentStateChildren.ts';
|
|
12
14
|
import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
|
|
13
15
|
import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
|
|
@@ -18,10 +20,11 @@ import { ModelDefinition } from '../parse/model/ModelDefinition.ts';
|
|
|
18
20
|
import { RootDefinition } from '../parse/model/RootDefinition.ts';
|
|
19
21
|
import { SecondaryInstancesDefinition } from '../parse/model/SecondaryInstance/SecondaryInstancesDefinition.ts';
|
|
20
22
|
import { InstanceNode } from './abstract/InstanceNode.ts';
|
|
23
|
+
import { InitialInstanceState } from './input/InitialInstanceState.ts';
|
|
21
24
|
import { EvaluationContext } from './internal-api/EvaluationContext.ts';
|
|
22
25
|
import { InstanceConfig } from './internal-api/InstanceConfig.ts';
|
|
23
26
|
import { PrimaryInstanceDocument } from './internal-api/PrimaryInstanceDocument.ts';
|
|
24
|
-
import {
|
|
27
|
+
import { ClientReactiveSerializableInstance } from './internal-api/serialization/ClientReactiveSerializableInstance.ts';
|
|
25
28
|
import { TranslationContext } from './internal-api/TranslationContext.ts';
|
|
26
29
|
import { Root } from './Root.ts';
|
|
27
30
|
interface PrimaryInstanceStateSpec {
|
|
@@ -36,9 +39,33 @@ interface PrimaryInstanceStateSpec {
|
|
|
36
39
|
readonly value: null;
|
|
37
40
|
readonly activeLanguage: Accessor<ActiveLanguage>;
|
|
38
41
|
}
|
|
39
|
-
|
|
42
|
+
interface PrimaryInstanceStateInputByMode {
|
|
43
|
+
readonly create: null;
|
|
44
|
+
readonly edit: InitialInstanceState;
|
|
45
|
+
readonly restore: InitialInstanceState;
|
|
46
|
+
}
|
|
47
|
+
export type PrimaryInstanceInitialState<Mode extends FormInstanceInitializationMode> = PrimaryInstanceStateInputByMode[Mode];
|
|
48
|
+
export interface BasePrimaryInstanceOptions {
|
|
49
|
+
readonly scope: ReactiveScope;
|
|
50
|
+
readonly model: ModelDefinition;
|
|
51
|
+
readonly secondaryInstances: SecondaryInstancesDefinition;
|
|
52
|
+
}
|
|
53
|
+
export interface ModelessPrimaryInstanceOptions extends BasePrimaryInstanceOptions {
|
|
54
|
+
readonly config: InstanceConfig;
|
|
55
|
+
}
|
|
56
|
+
export interface PrimaryInstanceOptions<Mode extends FormInstanceInitializationMode> extends ModelessPrimaryInstanceOptions {
|
|
57
|
+
readonly mode: Mode;
|
|
58
|
+
readonly initialState: PrimaryInstanceInitialState<Mode>;
|
|
59
|
+
}
|
|
60
|
+
export declare class PrimaryInstance<Mode extends FormInstanceInitializationMode = FormInstanceInitializationMode> extends InstanceNode<RootDefinition, PrimaryInstanceStateSpec, null, Root> implements PrimaryInstanceDocument, XFormsXPathDocument, TranslationContext, EvaluationContext, ClientReactiveSerializableInstance {
|
|
61
|
+
/**
|
|
62
|
+
* @todo this will be populated as we introduce other initialization modes!
|
|
63
|
+
*/
|
|
64
|
+
readonly initializationMode: FormInstanceInitializationMode;
|
|
65
|
+
readonly model: ModelDefinition;
|
|
40
66
|
protected readonly state: SharedNodeState<PrimaryInstanceStateSpec>;
|
|
41
67
|
protected readonly engineState: EngineState<PrimaryInstanceStateSpec>;
|
|
68
|
+
readonly instanceNode: StaticDocument;
|
|
42
69
|
readonly getChildren: Accessor<readonly Root[]>;
|
|
43
70
|
readonly hasReadonlyAncestor: () => boolean;
|
|
44
71
|
readonly isReadonly: () => boolean;
|
|
@@ -53,13 +80,13 @@ export declare class PrimaryInstance extends InstanceNode<RootDefinition, Primar
|
|
|
53
80
|
readonly root: Root;
|
|
54
81
|
readonly currentState: MaterializedChildren<CurrentState<PrimaryInstanceStateSpec>, Root>;
|
|
55
82
|
readonly validationState: AncestorNodeValidationState;
|
|
56
|
-
readonly
|
|
83
|
+
readonly instanceState: InstanceState;
|
|
57
84
|
readonly languages: FormLanguages;
|
|
58
85
|
readonly getActiveLanguage: Accessor<ActiveLanguage>;
|
|
59
86
|
readonly isAttached: Accessor<boolean>;
|
|
60
87
|
readonly evaluator: EngineXPathEvaluator;
|
|
61
88
|
readonly contextNode: this;
|
|
62
|
-
constructor(
|
|
89
|
+
constructor(options: PrimaryInstanceOptions<Mode>);
|
|
63
90
|
/**
|
|
64
91
|
* @todo Note that this method's signature is intentionally derived from
|
|
65
92
|
* {@link RootNode.setLanguage}, but its return type differs! The design
|
|
@@ -80,6 +107,6 @@ export declare class PrimaryInstance extends InstanceNode<RootDefinition, Primar
|
|
|
80
107
|
* philosophical reasoning behind the existing signature convention.
|
|
81
108
|
*/
|
|
82
109
|
setLanguage(language: FormLanguage): FormLanguage;
|
|
83
|
-
|
|
110
|
+
prepareInstancePayload<PayloadType extends InstancePayloadType = 'monolithic'>(options?: InstancePayloadOptions<PayloadType>): Promise<InstancePayload<PayloadType>>;
|
|
84
111
|
}
|
|
85
112
|
export {};
|
|
@@ -3,6 +3,7 @@ import { Accessor } from 'solid-js';
|
|
|
3
3
|
import { RangeInputValue, RangeNode, RangeNodeAppearances, RangeValue } from '../client/RangeNode.ts';
|
|
4
4
|
import { TextRange } from '../client/TextRange.ts';
|
|
5
5
|
import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
|
|
6
|
+
import { StaticLeafElement } from '../integration/xpath/static-dom/StaticElement.ts';
|
|
6
7
|
import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
|
|
7
8
|
import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
|
|
8
9
|
import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
|
|
@@ -12,14 +13,14 @@ import { ValueNode, ValueNodeStateSpec } from './abstract/ValueNode.ts';
|
|
|
12
13
|
import { GeneralParentNode } from './hierarchy.ts';
|
|
13
14
|
import { EvaluationContext } from './internal-api/EvaluationContext.ts';
|
|
14
15
|
import { ValidationContext } from './internal-api/ValidationContext.ts';
|
|
15
|
-
import {
|
|
16
|
+
import { ClientReactiveSerializableValueNode } from './internal-api/serialization/ClientReactiveSerializableValueNode.ts';
|
|
16
17
|
interface RangeControlStateSpec<V extends RangeValueType> extends ValueNodeStateSpec<RangeValue<V>> {
|
|
17
18
|
readonly label: Accessor<TextRange<'label'> | null>;
|
|
18
19
|
readonly hint: Accessor<TextRange<'hint'> | null>;
|
|
19
20
|
readonly valueOptions: null;
|
|
20
21
|
}
|
|
21
|
-
export declare class RangeControl<V extends RangeValueType = RangeValueType> extends ValueNode<V, RangeNodeDefinition<V>, RangeValue<V>, RangeInputValue<V>> implements RangeNode<V>, XFormsXPathElement, EvaluationContext, ValidationContext,
|
|
22
|
-
static from(parent: GeneralParentNode, definition: AnyRangeNodeDefinition): AnyRangeControl;
|
|
22
|
+
export declare class RangeControl<V extends RangeValueType = RangeValueType> extends ValueNode<V, RangeNodeDefinition<V>, RangeValue<V>, RangeInputValue<V>> implements RangeNode<V>, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSerializableValueNode {
|
|
23
|
+
static from(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: AnyRangeNodeDefinition): AnyRangeControl;
|
|
23
24
|
readonly [XPathNodeKindKey] = "element";
|
|
24
25
|
protected readonly state: SharedNodeState<RangeControlStateSpec<V>>;
|
|
25
26
|
protected readonly engineState: EngineState<RangeControlStateSpec<V>>;
|
|
@@ -27,7 +28,7 @@ export declare class RangeControl<V extends RangeValueType = RangeValueType> ext
|
|
|
27
28
|
readonly appearances: RangeNodeAppearances;
|
|
28
29
|
readonly nodeOptions: null;
|
|
29
30
|
readonly currentState: CurrentState<RangeControlStateSpec<V>>;
|
|
30
|
-
constructor(parent: GeneralParentNode, definition: RangeNodeDefinition<V>);
|
|
31
|
+
constructor(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: RangeNodeDefinition<V>);
|
|
31
32
|
setValue(value: RangeInputValue<V>): Root;
|
|
32
33
|
}
|
|
33
34
|
export type AnyRangeControl = RangeControl<'decimal'> | RangeControl<'int'>;
|
|
@@ -2,18 +2,19 @@ import { XPathNodeKindKey } from '@getodk/xpath';
|
|
|
2
2
|
import { Accessor } from 'solid-js';
|
|
3
3
|
import { RankDefinition, RankNode, RankValueOptions } from '../client/RankNode.ts';
|
|
4
4
|
import { TextRange } from '../client/TextRange.ts';
|
|
5
|
+
import { ValueType } from '../client/ValueType.ts';
|
|
5
6
|
import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
|
|
7
|
+
import { StaticLeafElement } from '../integration/xpath/static-dom/StaticElement.ts';
|
|
6
8
|
import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
|
|
7
9
|
import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
|
|
8
10
|
import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
|
|
11
|
+
import { UnknownAppearanceDefinition } from '../parse/body/appearance/unknownAppearanceParser.ts';
|
|
9
12
|
import { Root } from './Root.ts';
|
|
10
13
|
import { ValueNodeStateSpec, ValueNode } from './abstract/ValueNode.ts';
|
|
11
14
|
import { GeneralParentNode } from './hierarchy.ts';
|
|
12
15
|
import { EvaluationContext } from './internal-api/EvaluationContext.ts';
|
|
13
16
|
import { ValidationContext } from './internal-api/ValidationContext.ts';
|
|
14
|
-
import {
|
|
15
|
-
import { UnknownAppearanceDefinition } from '../parse/body/appearance/unknownAppearanceParser.ts';
|
|
16
|
-
import { ValueType } from '../client/ValueType.ts';
|
|
17
|
+
import { ClientReactiveSerializableValueNode } from './internal-api/serialization/ClientReactiveSerializableValueNode.ts';
|
|
17
18
|
export type AnyRankDefinition = {
|
|
18
19
|
[V in ValueType]: RankDefinition<V>;
|
|
19
20
|
}[ValueType];
|
|
@@ -22,8 +23,8 @@ interface RankControlStateSpec extends ValueNodeStateSpec<readonly string[]> {
|
|
|
22
23
|
readonly hint: Accessor<TextRange<'hint'> | null>;
|
|
23
24
|
readonly valueOptions: Accessor<RankValueOptions>;
|
|
24
25
|
}
|
|
25
|
-
export declare class RankControl extends ValueNode<'string', RankDefinition<'string'>, readonly string[], readonly string[]> implements RankNode, XFormsXPathElement, EvaluationContext, ValidationContext,
|
|
26
|
-
static from(parent: GeneralParentNode, definition: RankDefinition): RankControl;
|
|
26
|
+
export declare class RankControl extends ValueNode<'string', RankDefinition<'string'>, readonly string[], readonly string[]> implements RankNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSerializableValueNode {
|
|
27
|
+
static from(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: RankDefinition): RankControl;
|
|
27
28
|
private readonly mapOptionsByValue;
|
|
28
29
|
protected readonly getInstanceValue: Accessor<string>;
|
|
29
30
|
readonly [XPathNodeKindKey] = "element";
|
package/dist/instance/Root.d.ts
CHANGED
|
@@ -3,10 +3,9 @@ import { Accessor } from 'solid-js';
|
|
|
3
3
|
import { ActiveLanguage, FormLanguage, FormLanguages } from '../client/FormLanguage.ts';
|
|
4
4
|
import { FormNodeID } from '../client/identity.ts';
|
|
5
5
|
import { RootNode } from '../client/RootNode.ts';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { SubmissionState } from '../client/submission/SubmissionState.ts';
|
|
6
|
+
import { InstancePayload } from '../client/serialization/InstancePayload.ts';
|
|
7
|
+
import { InstancePayloadOptions, InstancePayloadType } from '../client/serialization/InstancePayloadOptions.ts';
|
|
8
|
+
import { InstanceState } from '../client/serialization/InstanceState.ts';
|
|
10
9
|
import { AncestorNodeValidationState } from '../client/validation.ts';
|
|
11
10
|
import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
|
|
12
11
|
import { MaterializedChildren } from '../lib/reactivity/materializeCurrentStateChildren.ts';
|
|
@@ -18,7 +17,7 @@ import { RootDefinition } from '../parse/model/RootDefinition.ts';
|
|
|
18
17
|
import { DescendantNode } from './abstract/DescendantNode.ts';
|
|
19
18
|
import { GeneralChildNode } from './hierarchy.ts';
|
|
20
19
|
import { EvaluationContext } from './internal-api/EvaluationContext.ts';
|
|
21
|
-
import {
|
|
20
|
+
import { ClientReactiveSerializableParentNode } from './internal-api/serialization/ClientReactiveSerializableParentNode.ts';
|
|
22
21
|
import { TranslationContext } from './internal-api/TranslationContext.ts';
|
|
23
22
|
import { PrimaryInstance } from './PrimaryInstance.ts';
|
|
24
23
|
interface RootStateSpec {
|
|
@@ -33,7 +32,7 @@ interface RootStateSpec {
|
|
|
33
32
|
readonly value: null;
|
|
34
33
|
readonly activeLanguage: Accessor<ActiveLanguage>;
|
|
35
34
|
}
|
|
36
|
-
export declare class Root extends DescendantNode<RootDefinition, RootStateSpec, PrimaryInstance, GeneralChildNode> implements RootNode, XFormsXPathElement, EvaluationContext, TranslationContext,
|
|
35
|
+
export declare class Root extends DescendantNode<RootDefinition, RootStateSpec, PrimaryInstance, GeneralChildNode> implements RootNode, XFormsXPathElement, EvaluationContext, TranslationContext, ClientReactiveSerializableParentNode<GeneralChildNode> {
|
|
37
36
|
private readonly childrenState;
|
|
38
37
|
readonly [XPathNodeKindKey] = "element";
|
|
39
38
|
protected readonly state: SharedNodeState<RootStateSpec>;
|
|
@@ -51,12 +50,11 @@ export declare class Root extends DescendantNode<RootDefinition, RootStateSpec,
|
|
|
51
50
|
readonly classes: BodyClassList;
|
|
52
51
|
readonly currentState: MaterializedChildren<CurrentState<RootStateSpec>, GeneralChildNode>;
|
|
53
52
|
readonly validationState: AncestorNodeValidationState;
|
|
54
|
-
readonly
|
|
55
|
-
get submissionDefinition(): SubmissionDefinition;
|
|
53
|
+
readonly instanceState: InstanceState;
|
|
56
54
|
readonly languages: FormLanguages;
|
|
57
55
|
constructor(parent: PrimaryInstance);
|
|
58
56
|
getChildren(): readonly GeneralChildNode[];
|
|
59
57
|
setLanguage(language: FormLanguage): Root;
|
|
60
|
-
|
|
58
|
+
prepareInstancePayload<PayloadType extends InstancePayloadType = 'monolithic'>(options?: InstancePayloadOptions<PayloadType>): Promise<InstancePayload<PayloadType>>;
|
|
61
59
|
}
|
|
62
60
|
export {};
|
|
@@ -4,6 +4,7 @@ import { SelectDefinition, SelectItem, SelectNode, SelectNodeAppearances, Select
|
|
|
4
4
|
import { TextRange } from '../client/TextRange.ts';
|
|
5
5
|
import { ValueType } from '../client/ValueType.ts';
|
|
6
6
|
import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
|
|
7
|
+
import { StaticLeafElement } from '../integration/xpath/static-dom/StaticElement.ts';
|
|
7
8
|
import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
|
|
8
9
|
import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
|
|
9
10
|
import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeState.ts';
|
|
@@ -13,7 +14,7 @@ import { ValueNodeStateSpec, ValueNode } from './abstract/ValueNode.ts';
|
|
|
13
14
|
import { GeneralParentNode } from './hierarchy.ts';
|
|
14
15
|
import { EvaluationContext } from './internal-api/EvaluationContext.ts';
|
|
15
16
|
import { ValidationContext } from './internal-api/ValidationContext.ts';
|
|
16
|
-
import {
|
|
17
|
+
import { ClientReactiveSerializableValueNode } from './internal-api/serialization/ClientReactiveSerializableValueNode.ts';
|
|
17
18
|
export type AnySelectDefinition = {
|
|
18
19
|
[V in ValueType]: SelectDefinition<V>;
|
|
19
20
|
}[ValueType];
|
|
@@ -22,8 +23,8 @@ interface SelectControlStateSpec extends ValueNodeStateSpec<readonly string[]> {
|
|
|
22
23
|
readonly hint: Accessor<TextRange<'hint'> | null>;
|
|
23
24
|
readonly valueOptions: Accessor<SelectValueOptions>;
|
|
24
25
|
}
|
|
25
|
-
export declare class SelectControl extends ValueNode<'string', SelectDefinition<'string'>, readonly string[], readonly string[]> implements SelectNode, XFormsXPathElement, EvaluationContext, ValidationContext,
|
|
26
|
-
static from(parent: GeneralParentNode, definition: SelectDefinition): SelectControl;
|
|
26
|
+
export declare class SelectControl extends ValueNode<'string', SelectDefinition<'string'>, readonly string[], readonly string[]> implements SelectNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSerializableValueNode {
|
|
27
|
+
static from(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: SelectDefinition): SelectControl;
|
|
27
28
|
private readonly mapOptionsByValue;
|
|
28
29
|
protected readonly getInstanceValue: Accessor<string>;
|
|
29
30
|
readonly [XPathNodeKindKey] = "element";
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { XPathNodeKindKey } from '@getodk/xpath';
|
|
2
2
|
import { Accessor } from 'solid-js';
|
|
3
3
|
import { FormNodeID } from '../client/identity.ts';
|
|
4
|
-
import {
|
|
4
|
+
import { InstanceState } from '../client/serialization/InstanceState.ts';
|
|
5
5
|
import { SubtreeDefinition, SubtreeNode } from '../client/SubtreeNode.ts';
|
|
6
6
|
import { AncestorNodeValidationState } from '../client/validation.ts';
|
|
7
7
|
import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
|
|
8
|
+
import { StaticElement } from '../integration/xpath/static-dom/StaticElement.ts';
|
|
8
9
|
import { MaterializedChildren } from '../lib/reactivity/materializeCurrentStateChildren.ts';
|
|
9
10
|
import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
|
|
10
11
|
import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
|
|
@@ -12,7 +13,7 @@ import { SharedNodeState } from '../lib/reactivity/node-state/createSharedNodeSt
|
|
|
12
13
|
import { DescendantNodeSharedStateSpec, DescendantNode } from './abstract/DescendantNode.ts';
|
|
13
14
|
import { GeneralChildNode, GeneralParentNode } from './hierarchy.ts';
|
|
14
15
|
import { EvaluationContext } from './internal-api/EvaluationContext.ts';
|
|
15
|
-
import {
|
|
16
|
+
import { ClientReactiveSerializableParentNode } from './internal-api/serialization/ClientReactiveSerializableParentNode.ts';
|
|
16
17
|
interface SubtreeStateSpec extends DescendantNodeSharedStateSpec {
|
|
17
18
|
readonly label: null;
|
|
18
19
|
readonly hint: null;
|
|
@@ -20,7 +21,7 @@ interface SubtreeStateSpec extends DescendantNodeSharedStateSpec {
|
|
|
20
21
|
readonly valueOptions: null;
|
|
21
22
|
readonly value: null;
|
|
22
23
|
}
|
|
23
|
-
export declare class Subtree extends DescendantNode<SubtreeDefinition, SubtreeStateSpec, GeneralParentNode, GeneralChildNode> implements SubtreeNode, XFormsXPathElement, EvaluationContext,
|
|
24
|
+
export declare class Subtree extends DescendantNode<SubtreeDefinition, SubtreeStateSpec, GeneralParentNode, GeneralChildNode> implements SubtreeNode, XFormsXPathElement, EvaluationContext, ClientReactiveSerializableParentNode<GeneralChildNode> {
|
|
24
25
|
private readonly childrenState;
|
|
25
26
|
readonly [XPathNodeKindKey] = "element";
|
|
26
27
|
protected readonly state: SharedNodeState<SubtreeStateSpec>;
|
|
@@ -30,8 +31,8 @@ export declare class Subtree extends DescendantNode<SubtreeDefinition, SubtreeSt
|
|
|
30
31
|
readonly nodeOptions: null;
|
|
31
32
|
readonly currentState: MaterializedChildren<CurrentState<SubtreeStateSpec>, GeneralChildNode>;
|
|
32
33
|
readonly validationState: AncestorNodeValidationState;
|
|
33
|
-
readonly
|
|
34
|
-
constructor(parent: GeneralParentNode, definition: SubtreeDefinition);
|
|
34
|
+
readonly instanceState: InstanceState;
|
|
35
|
+
constructor(parent: GeneralParentNode, instanceNode: StaticElement | null, definition: SubtreeDefinition);
|
|
35
36
|
getChildren(): readonly GeneralChildNode[];
|
|
36
37
|
}
|
|
37
38
|
export {};
|
|
@@ -3,6 +3,7 @@ import { Accessor } from 'solid-js';
|
|
|
3
3
|
import { TextRange } from '../client/TextRange.ts';
|
|
4
4
|
import { TriggerNode, TriggerNodeDefinition } from '../client/TriggerNode.ts';
|
|
5
5
|
import { XFormsXPathElement } from '../integration/xpath/adapter/XFormsXPathNode.ts';
|
|
6
|
+
import { StaticLeafElement } from '../integration/xpath/static-dom/StaticElement.ts';
|
|
6
7
|
import { TriggerInputValue, TriggerRuntimeValue } from '../lib/codecs/TriggerCodec.ts';
|
|
7
8
|
import { CurrentState } from '../lib/reactivity/node-state/createCurrentState.ts';
|
|
8
9
|
import { EngineState } from '../lib/reactivity/node-state/createEngineState.ts';
|
|
@@ -13,14 +14,14 @@ import { ValueNode, ValueNodeStateSpec } from './abstract/ValueNode.ts';
|
|
|
13
14
|
import { GeneralParentNode } from './hierarchy.ts';
|
|
14
15
|
import { EvaluationContext } from './internal-api/EvaluationContext.ts';
|
|
15
16
|
import { ValidationContext } from './internal-api/ValidationContext.ts';
|
|
16
|
-
import {
|
|
17
|
+
import { ClientReactiveSerializableValueNode } from './internal-api/serialization/ClientReactiveSerializableValueNode.ts';
|
|
17
18
|
interface TriggerControlStateSpec extends ValueNodeStateSpec<TriggerRuntimeValue> {
|
|
18
19
|
readonly label: Accessor<TextRange<'label'> | null>;
|
|
19
20
|
readonly hint: Accessor<TextRange<'hint'> | null>;
|
|
20
21
|
readonly valueOptions: null;
|
|
21
22
|
}
|
|
22
|
-
export declare class TriggerControl extends ValueNode<'string', TriggerNodeDefinition<'string'>, TriggerRuntimeValue, TriggerInputValue> implements TriggerNode, XFormsXPathElement, EvaluationContext, ValidationContext,
|
|
23
|
-
static from(parent: GeneralParentNode, definition: TriggerNodeDefinition): TriggerControl;
|
|
23
|
+
export declare class TriggerControl extends ValueNode<'string', TriggerNodeDefinition<'string'>, TriggerRuntimeValue, TriggerInputValue> implements TriggerNode, XFormsXPathElement, EvaluationContext, ValidationContext, ClientReactiveSerializableValueNode {
|
|
24
|
+
static from(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: TriggerNodeDefinition): TriggerControl;
|
|
24
25
|
readonly [XPathNodeKindKey] = "element";
|
|
25
26
|
protected readonly state: SharedNodeState<TriggerControlStateSpec>;
|
|
26
27
|
protected readonly engineState: EngineState<TriggerControlStateSpec>;
|
|
@@ -6,6 +6,7 @@ import { InstanceNodeType } from '../../client/node-types.ts';
|
|
|
6
6
|
import { PrimaryInstanceXPathChildNode } from '../../integration/xpath/adapter/kind.ts';
|
|
7
7
|
import { XFormsXPathPrimaryInstanceDescendantNode, XFormsXPathPrimaryInstanceDescendantNodeKind } from '../../integration/xpath/adapter/XFormsXPathNode.ts';
|
|
8
8
|
import { EngineXPathEvaluator } from '../../integration/xpath/EngineXPathEvaluator.ts';
|
|
9
|
+
import { StaticElement } from '../../integration/xpath/static-dom/StaticElement.ts';
|
|
9
10
|
import { AnyNodeDefinition } from '../../parse/model/NodeDefinition.ts';
|
|
10
11
|
import { AnyChildNode, AnyParentNode } from '../hierarchy.ts';
|
|
11
12
|
import { EvaluationContext } from '../internal-api/EvaluationContext.ts';
|
|
@@ -23,8 +24,16 @@ export type AnyDescendantNode = DescendantNode<DescendantNodeDefinition, Descend
|
|
|
23
24
|
interface DescendantNodeOptions {
|
|
24
25
|
readonly computeReference?: Accessor<string>;
|
|
25
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* @todo Unify constructor signatures of {@link DescendantNode} and its
|
|
29
|
+
* subclasses, which will simplify the branchy logic of child node construction
|
|
30
|
+
* and minimize internal churn as common themes evolve. A good starting point is
|
|
31
|
+
* beginning to form in {@link DescendantNodeInitOptions} (not to be confused
|
|
32
|
+
* with the current module-local {@link DescendantNodeOptions}).
|
|
33
|
+
*/
|
|
26
34
|
export declare abstract class DescendantNode<Definition extends DescendantNodeDefinition, Spec extends DescendantNodeStateSpec<any>, Parent extends AnyParentNode, Child extends AnyChildNode | null = null> extends InstanceNode<Definition, Spec, Parent, Child> implements BaseNode, XFormsXPathPrimaryInstanceDescendantNode, EvaluationContext {
|
|
27
35
|
readonly parent: Parent;
|
|
36
|
+
readonly instanceNode: StaticElement | null;
|
|
28
37
|
readonly definition: Definition;
|
|
29
38
|
/**
|
|
30
39
|
* Partial implementation of {@link isAttached}, used to check whether `this`
|
|
@@ -56,7 +65,7 @@ export declare abstract class DescendantNode<Definition extends DescendantNodeDe
|
|
|
56
65
|
readonly evaluator: EngineXPathEvaluator;
|
|
57
66
|
readonly contextNode: PrimaryInstanceXPathChildNode;
|
|
58
67
|
readonly getActiveLanguage: Accessor<ActiveLanguage>;
|
|
59
|
-
constructor(parent: Parent, definition: Definition, options?: DescendantNodeOptions);
|
|
68
|
+
constructor(parent: Parent, instanceNode: StaticElement | null, definition: Definition, options?: DescendantNodeOptions);
|
|
60
69
|
/**
|
|
61
70
|
* @package
|
|
62
71
|
*
|
|
@@ -4,12 +4,14 @@ import { BaseNode } from '../../client/BaseNode.ts';
|
|
|
4
4
|
import { NodeAppearances } from '../../client/NodeAppearances.ts';
|
|
5
5
|
import { FormNodeID } from '../../client/identity.ts';
|
|
6
6
|
import { InstanceNodeType as ClientInstanceNodeType } from '../../client/node-types.ts';
|
|
7
|
-
import {
|
|
7
|
+
import { InstanceState } from '../../client/serialization/InstanceState.ts';
|
|
8
8
|
import { NodeValidationState } from '../../client/validation.ts';
|
|
9
9
|
import { ActiveLanguage, TextRange } from '../../index.ts';
|
|
10
10
|
import { EngineXPathEvaluator } from '../../integration/xpath/EngineXPathEvaluator.ts';
|
|
11
11
|
import { XFormsXPathPrimaryInstanceNode, XFormsXPathPrimaryInstanceNodeKind } from '../../integration/xpath/adapter/XFormsXPathNode.ts';
|
|
12
12
|
import { PrimaryInstanceXPathNode } from '../../integration/xpath/adapter/kind.ts';
|
|
13
|
+
import { StaticDocument } from '../../integration/xpath/static-dom/StaticDocument.ts';
|
|
14
|
+
import { StaticElement } from '../../integration/xpath/static-dom/StaticElement.ts';
|
|
13
15
|
import { CurrentState } from '../../lib/reactivity/node-state/createCurrentState.ts';
|
|
14
16
|
import { EngineState } from '../../lib/reactivity/node-state/createEngineState.ts';
|
|
15
17
|
import { SharedNodeState } from '../../lib/reactivity/node-state/createSharedNodeState.ts';
|
|
@@ -55,8 +57,9 @@ export interface InstanceNodeOptions {
|
|
|
55
57
|
readonly scope?: ReactiveScope;
|
|
56
58
|
}
|
|
57
59
|
export declare abstract class InstanceNode<Definition extends AnyNodeDefinition, Spec extends InstanceNodeStateSpec<any>, Parent extends AnyParentNode | null, Child extends AnyChildNode | null = null> implements BaseEngineNode, XFormsXPathPrimaryInstanceNode, EvaluationContext {
|
|
58
|
-
readonly
|
|
60
|
+
readonly instanceConfig: InstanceConfig;
|
|
59
61
|
readonly parent: Parent;
|
|
62
|
+
readonly instanceNode: StaticDocument | StaticElement | null;
|
|
60
63
|
readonly definition: Definition;
|
|
61
64
|
protected abstract readonly state: SharedNodeState<Spec>;
|
|
62
65
|
protected abstract readonly engineState: EngineState<Spec>;
|
|
@@ -89,7 +92,7 @@ export declare abstract class InstanceNode<Definition extends AnyNodeDefinition,
|
|
|
89
92
|
abstract readonly nodeOptions: object | null;
|
|
90
93
|
abstract readonly currentState: InstanceNodeCurrentState<Spec, Child>;
|
|
91
94
|
abstract readonly validationState: NodeValidationState;
|
|
92
|
-
abstract readonly
|
|
95
|
+
abstract readonly instanceState: InstanceState;
|
|
93
96
|
abstract readonly evaluator: EngineXPathEvaluator;
|
|
94
97
|
abstract readonly getActiveLanguage: Accessor<ActiveLanguage>;
|
|
95
98
|
abstract readonly isAttached: Accessor<boolean>;
|
|
@@ -103,7 +106,7 @@ export declare abstract class InstanceNode<Definition extends AnyNodeDefinition,
|
|
|
103
106
|
* constrain) their more specific `this` type.
|
|
104
107
|
*/
|
|
105
108
|
readonly contextNode: PrimaryInstanceXPathNode;
|
|
106
|
-
constructor(
|
|
109
|
+
constructor(instanceConfig: InstanceConfig, parent: Parent, instanceNode: StaticDocument | StaticElement | null, definition: Definition, options?: InstanceNodeOptions);
|
|
107
110
|
/** @package */
|
|
108
111
|
isPrimaryInstance(): this is PrimaryInstance;
|
|
109
112
|
/** @package */
|
|
@@ -2,10 +2,11 @@ import { XPathNodeKindKey } from '@getodk/xpath';
|
|
|
2
2
|
import { Accessor } from 'solid-js';
|
|
3
3
|
import { BaseValueNode } from '../../client/BaseValueNode.ts';
|
|
4
4
|
import { LeafNodeType as ValueNodeType } from '../../client/node-types.ts';
|
|
5
|
-
import {
|
|
5
|
+
import { InstanceState } from '../../client/serialization/InstanceState.ts';
|
|
6
6
|
import { AnyViolation, LeafNodeValidationState } from '../../client/validation.ts';
|
|
7
7
|
import { ValueType } from '../../client/ValueType.ts';
|
|
8
8
|
import { XFormsXPathElement } from '../../integration/xpath/adapter/XFormsXPathNode.ts';
|
|
9
|
+
import { StaticLeafElement } from '../../integration/xpath/static-dom/StaticElement.ts';
|
|
9
10
|
import { RuntimeValueSetter, RuntimeValueState, ValueCodec } from '../../lib/codecs/ValueCodec.ts';
|
|
10
11
|
import { CurrentState } from '../../lib/reactivity/node-state/createCurrentState.ts';
|
|
11
12
|
import { EngineState } from '../../lib/reactivity/node-state/createEngineState.ts';
|
|
@@ -16,7 +17,7 @@ import { LeafNodeDefinition } from '../../parse/model/LeafNodeDefinition.ts';
|
|
|
16
17
|
import { GeneralParentNode } from '../hierarchy.ts';
|
|
17
18
|
import { EvaluationContext } from '../internal-api/EvaluationContext.ts';
|
|
18
19
|
import { DecodeInstanceValue, InstanceValueContext } from '../internal-api/InstanceValueContext.ts';
|
|
19
|
-
import {
|
|
20
|
+
import { ClientReactiveSerializableValueNode } from '../internal-api/serialization/ClientReactiveSerializableValueNode.ts';
|
|
20
21
|
import { ValidationContext } from '../internal-api/ValidationContext.ts';
|
|
21
22
|
import { DescendantNodeStateSpec, DescendantNode } from './DescendantNode.ts';
|
|
22
23
|
export type ValueNodeDefinition<V extends ValueType> = LeafNodeDefinition<V>;
|
|
@@ -25,7 +26,8 @@ export interface ValueNodeStateSpec<RuntimeValue> extends DescendantNodeStateSpe
|
|
|
25
26
|
readonly value: SimpleAtomicState<RuntimeValue>;
|
|
26
27
|
readonly instanceValue: Accessor<string>;
|
|
27
28
|
}
|
|
28
|
-
export declare abstract class ValueNode<V extends ValueType, Definition extends ValueNodeDefinition<V>, RuntimeValue extends RuntimeInputValue, RuntimeInputValue = RuntimeValue> extends DescendantNode<Definition, ValueNodeStateSpec<RuntimeValue>, GeneralParentNode, null> implements BaseValueNode<V, RuntimeValue>, XFormsXPathElement, EvaluationContext, InstanceValueContext, ValidationContext,
|
|
29
|
+
export declare abstract class ValueNode<V extends ValueType, Definition extends ValueNodeDefinition<V>, RuntimeValue extends RuntimeInputValue, RuntimeInputValue = RuntimeValue> extends DescendantNode<Definition, ValueNodeStateSpec<RuntimeValue>, GeneralParentNode, null> implements BaseValueNode<V, RuntimeValue>, XFormsXPathElement, EvaluationContext, InstanceValueContext, ValidationContext, ClientReactiveSerializableValueNode {
|
|
30
|
+
readonly instanceNode: StaticLeafElement | null;
|
|
29
31
|
protected readonly validation: SharedValidationState;
|
|
30
32
|
protected readonly getInstanceValue: Accessor<string>;
|
|
31
33
|
protected readonly valueState: RuntimeValueState<RuntimeValue>;
|
|
@@ -39,8 +41,8 @@ export declare abstract class ValueNode<V extends ValueType, Definition extends
|
|
|
39
41
|
readonly valueType: V;
|
|
40
42
|
abstract readonly currentState: CurrentState<ValueNodeStateSpec<RuntimeValue>>;
|
|
41
43
|
get validationState(): LeafNodeValidationState;
|
|
42
|
-
readonly
|
|
43
|
-
constructor(parent: GeneralParentNode, definition: Definition, codec: ValueCodec<V, RuntimeValue, RuntimeInputValue>);
|
|
44
|
+
readonly instanceState: InstanceState;
|
|
45
|
+
constructor(parent: GeneralParentNode, instanceNode: StaticLeafElement | null, definition: Definition, codec: ValueCodec<V, RuntimeValue, RuntimeInputValue>);
|
|
44
46
|
getViolation(): AnyViolation | null;
|
|
45
47
|
isBlank(): boolean;
|
|
46
48
|
getChildren(): readonly [];
|