@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
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { RepeatTemplateDefinition } from '../../parse/model/RepeatTemplateDefinition.ts';
|
|
1
|
+
import { AnyRepeatDefinition } from '../../parse/model/RepeatDefinition.ts';
|
|
3
2
|
import { BaseNode, BaseNodeState } from '../BaseNode.ts';
|
|
4
3
|
import { GeneralChildNode, RepeatRangeNode } from '../hierarchy.ts';
|
|
5
4
|
import { NodeAppearances } from '../NodeAppearances.ts';
|
|
@@ -11,12 +10,12 @@ export interface RepeatInstanceNodeState extends BaseNodeState {
|
|
|
11
10
|
get valueOptions(): null;
|
|
12
11
|
get value(): null;
|
|
13
12
|
}
|
|
14
|
-
export type
|
|
15
|
-
export type RepeatInstanceNodeAppearances = NodeAppearances<
|
|
13
|
+
export type { AnyRepeatDefinition };
|
|
14
|
+
export type RepeatInstanceNodeAppearances = NodeAppearances<AnyRepeatDefinition>;
|
|
16
15
|
export interface RepeatInstanceNode extends BaseNode {
|
|
17
16
|
readonly nodeType: 'repeat-instance';
|
|
18
17
|
readonly appearances: RepeatInstanceNodeAppearances;
|
|
19
|
-
readonly definition:
|
|
18
|
+
readonly definition: AnyRepeatDefinition;
|
|
20
19
|
readonly root: RootNode;
|
|
21
20
|
/**
|
|
22
21
|
* A repeat instance may only be a child of a {@link RepeatRangeNode}.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ControlledRepeatDefinition } from '../../parse/model/RepeatDefinition.ts';
|
|
2
2
|
import { BaseRepeatRangeNode, BaseRepeatRangeNodeState } from './BaseRepeatRangeNode.ts';
|
|
3
3
|
/**
|
|
4
4
|
* {@inheritDoc BaseRepeatRangeNodeState}
|
|
@@ -14,5 +14,5 @@ export interface RepeatRangeControlledState extends BaseRepeatRangeNodeState {
|
|
|
14
14
|
*/
|
|
15
15
|
export interface RepeatRangeControlledNode extends BaseRepeatRangeNode {
|
|
16
16
|
readonly nodeType: 'repeat-range:controlled';
|
|
17
|
-
readonly definition:
|
|
17
|
+
readonly definition: ControlledRepeatDefinition;
|
|
18
18
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UncontrolledRepeatDefinition } from '../../parse/model/RepeatDefinition.ts';
|
|
2
2
|
import { RootNode } from '../RootNode.ts';
|
|
3
3
|
import { BaseRepeatRangeNode, BaseRepeatRangeNodeState } from './BaseRepeatRangeNode.ts';
|
|
4
4
|
/**
|
|
@@ -13,7 +13,7 @@ export interface RepeatRangeUncontrolledState extends BaseRepeatRangeNodeState {
|
|
|
13
13
|
*/
|
|
14
14
|
export interface RepeatRangeUncontrolledNode extends BaseRepeatRangeNode {
|
|
15
15
|
readonly nodeType: 'repeat-range:uncontrolled';
|
|
16
|
-
readonly definition:
|
|
16
|
+
readonly definition: UncontrolledRepeatDefinition;
|
|
17
17
|
addInstances(afterIndex?: number, count?: number): RootNode;
|
|
18
18
|
removeInstances(startIndex: number, count?: number): RootNode;
|
|
19
19
|
}
|
|
@@ -65,7 +65,7 @@ export interface FetchResourceResponseHeaders {
|
|
|
65
65
|
*
|
|
66
66
|
* Furthermore, if the engine intends to read {@link body} (or its indirect
|
|
67
67
|
* {@link blob} or {@link text} consumers), it will do so in the course of a
|
|
68
|
-
* client's call to {@link
|
|
68
|
+
* client's call to {@link loadForm}, and before the
|
|
69
69
|
* {@link Promise<PrimaryInstance>} returned by that call is resolved.
|
|
70
70
|
*/
|
|
71
71
|
export interface FetchResourceResponse {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { INSTANCE_FILE_NAME, InstanceFile } from './InstanceFile.ts';
|
|
2
|
+
export type InstanceAttachmentFileName = string;
|
|
3
|
+
export interface InstanceData extends FormData {
|
|
4
|
+
get(name: INSTANCE_FILE_NAME): InstanceFile;
|
|
5
|
+
/**
|
|
6
|
+
* @todo Can we guarantee (both in static types and at runtime) that
|
|
7
|
+
* {@link InstanceData} only contains files?
|
|
8
|
+
*/
|
|
9
|
+
get(name: InstanceAttachmentFileName): FormDataEntryValue | null;
|
|
10
|
+
has(name: INSTANCE_FILE_NAME): true;
|
|
11
|
+
has(name: InstanceAttachmentFileName): boolean;
|
|
12
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { SubmissionMeta } from '../submission/SubmissionMeta.ts';
|
|
2
|
+
import { DescendantNodeViolationReference } from '../validation.ts';
|
|
3
|
+
import { InstanceData } from './InstanceData.ts';
|
|
4
|
+
import { InstancePayloadType } from './InstancePayloadOptions.ts';
|
|
5
|
+
export type InstancePayloadStatus = 'pending' | 'max-size-exceeded' | 'ready';
|
|
6
|
+
type InstancePayloadData<PayloadType extends InstancePayloadType> = {
|
|
7
|
+
chunked: readonly [InstanceData, ...InstanceData[]];
|
|
8
|
+
monolithic: readonly [InstanceData];
|
|
9
|
+
}[PayloadType];
|
|
10
|
+
/**
|
|
11
|
+
* Provides detail about an individual instance attachment {@link File}s which
|
|
12
|
+
* exceeds the client-specified {@link maxSize} for a
|
|
13
|
+
* {@link ChunkedInstancePayload | chunked instance payload}. Clients may use
|
|
14
|
+
* this value to provide guidance to users.
|
|
15
|
+
*
|
|
16
|
+
* @todo We may want to consider (a) making {@link maxSize} a configuration the
|
|
17
|
+
* client can provide when initializing a form instance, rather than only when
|
|
18
|
+
* serializing an instance payload; and then (b) treating a maximum size
|
|
19
|
+
* violation as another kind of node-level violation. This would go beyond the
|
|
20
|
+
* kinds of validation specified by ODK XForms, but it would make a lot of
|
|
21
|
+
* _conceptual sense_.
|
|
22
|
+
*
|
|
23
|
+
* It would almost certainly be helpful to alert users to violations as the
|
|
24
|
+
* occur, rather than only at instance payload serialization time (where they
|
|
25
|
+
* have likely already moved on). This is something clients can do without
|
|
26
|
+
* engine support, but it would likely promote good usability patterns if the
|
|
27
|
+
* engine makes it an obvious and uniform option at the main engine/client
|
|
28
|
+
* entrypoint.
|
|
29
|
+
*
|
|
30
|
+
* @todo If we consider the above, we'd want to reframe _this interface_ to
|
|
31
|
+
* match the shape of other {@link AnyViolation | violations} (adding it as a
|
|
32
|
+
* member of that union). We'd also likely eliminate
|
|
33
|
+
* {@link MaxSizeExceededResult} in the process, since
|
|
34
|
+
* {@link PendingInstancePayload} would then cover the case.
|
|
35
|
+
*/
|
|
36
|
+
interface MaxSizeViolation {
|
|
37
|
+
/**
|
|
38
|
+
* Specifies the index of
|
|
39
|
+
* {@link InstancePayloadData<'chunked'> | chunked instance payload data}
|
|
40
|
+
* where an instance attachment {@link File} exceeds the client-specified
|
|
41
|
+
* {@link maxSize}.
|
|
42
|
+
*/
|
|
43
|
+
readonly dataIndex: number;
|
|
44
|
+
/**
|
|
45
|
+
* Specifies the name of the file which exceeds the client-specified
|
|
46
|
+
* {@link maxSize}. This name can also be used as a key to access the
|
|
47
|
+
* violating {@link File}/instance attachment, in the {@link InstanceData} at
|
|
48
|
+
* the specified {@link dataIndex}.
|
|
49
|
+
*/
|
|
50
|
+
readonly fileName: string;
|
|
51
|
+
/**
|
|
52
|
+
* Reflects the client-specified maximum size for each chunk of a
|
|
53
|
+
* {@link ChunkedInstancePayload | chunked instance payload}.
|
|
54
|
+
*/
|
|
55
|
+
readonly maxSize: number;
|
|
56
|
+
/**
|
|
57
|
+
* Details the actual size of the violating {@link File}/instance attachment.
|
|
58
|
+
* Along with {@link maxSize}. Clients may use the delta between this value
|
|
59
|
+
* and {@link maxSize} to provide detailed guidance to users.
|
|
60
|
+
*/
|
|
61
|
+
readonly actualSize: number;
|
|
62
|
+
}
|
|
63
|
+
type InstancePayloadViolation = DescendantNodeViolationReference | MaxSizeViolation;
|
|
64
|
+
interface BaseInstancePayload<PayloadType extends InstancePayloadType> {
|
|
65
|
+
readonly payloadType: PayloadType;
|
|
66
|
+
readonly status: InstancePayloadStatus;
|
|
67
|
+
readonly submissionMeta: SubmissionMeta;
|
|
68
|
+
get violations(): readonly InstancePayloadViolation[] | null;
|
|
69
|
+
/**
|
|
70
|
+
* Instance attachment data may be chunked according to the
|
|
71
|
+
* {@link InstancePayloadOptions.maxSize | maxSize instance payload option}
|
|
72
|
+
*/
|
|
73
|
+
readonly data: InstancePayloadData<PayloadType>;
|
|
74
|
+
}
|
|
75
|
+
interface PendingInstancePayload<PayloadType extends InstancePayloadType> extends BaseInstancePayload<PayloadType> {
|
|
76
|
+
readonly status: 'pending';
|
|
77
|
+
get violations(): readonly DescendantNodeViolationReference[];
|
|
78
|
+
}
|
|
79
|
+
interface MaxSizeExceededResult extends BaseInstancePayload<'chunked'> {
|
|
80
|
+
readonly status: 'max-size-exceeded';
|
|
81
|
+
get violations(): readonly MaxSizeViolation[];
|
|
82
|
+
}
|
|
83
|
+
interface ReadyInstancePayload<PayloadType extends InstancePayloadType> extends BaseInstancePayload<PayloadType> {
|
|
84
|
+
readonly status: 'ready';
|
|
85
|
+
get violations(): null;
|
|
86
|
+
}
|
|
87
|
+
export type ChunkedInstancePayload = MaxSizeExceededResult | PendingInstancePayload<'chunked'> | ReadyInstancePayload<'chunked'>;
|
|
88
|
+
export type MonolithicInstancePayload = PendingInstancePayload<'monolithic'> | ReadyInstancePayload<'monolithic'>;
|
|
89
|
+
export type InstancePayload<PayloadType extends InstancePayloadType> = {
|
|
90
|
+
chunked: ChunkedInstancePayload;
|
|
91
|
+
monolithic: MonolithicInstancePayload;
|
|
92
|
+
}[PayloadType];
|
|
93
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type InstancePayloadType = 'chunked' | 'monolithic';
|
|
2
|
+
interface BaseInstancePayloadOptions<PayloadType extends InstancePayloadType> {
|
|
3
|
+
readonly payloadType?: PayloadType | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* As described in the
|
|
6
|
+
* {@link https://docs.getodk.org/openrosa-form-submission/#extended-transmission-considerations | OpenRosa Form Submission API},
|
|
7
|
+
* clients may obtain this value from an OpenRosa server's
|
|
8
|
+
* `X-OpenRosa-Accept-Content-Length` header.
|
|
9
|
+
*/
|
|
10
|
+
readonly maxSize?: number;
|
|
11
|
+
}
|
|
12
|
+
interface ChunkedInstancePayloadOptions extends BaseInstancePayloadOptions<'chunked'> {
|
|
13
|
+
readonly maxSize: number;
|
|
14
|
+
}
|
|
15
|
+
interface MonolithicInstancePayloadOptions extends BaseInstancePayloadOptions<'monolithic'> {
|
|
16
|
+
readonly payloadType?: 'monolithic' | undefined;
|
|
17
|
+
readonly maxSize?: never;
|
|
18
|
+
}
|
|
19
|
+
export type InstancePayloadOptions<PayloadType extends InstancePayloadType = 'monolithic'> = {
|
|
20
|
+
chunked: ChunkedInstancePayloadOptions;
|
|
21
|
+
monolithic: MonolithicInstancePayloadOptions;
|
|
22
|
+
}[PayloadType];
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface InstanceState {
|
|
2
|
+
/**
|
|
3
|
+
* Represents the serialized XML state of a given node. The value produced in
|
|
4
|
+
* {@link RootNode.instanceState} is the same serialization which will be
|
|
5
|
+
* produced for a complete instance.
|
|
6
|
+
*
|
|
7
|
+
* @todo Note that this particular aspect of the design doesn't yet address
|
|
8
|
+
* production of unique file names. As such, this may change as we introduce
|
|
9
|
+
* affected data types (and their supporting nodes).
|
|
10
|
+
*/
|
|
11
|
+
get instanceXML(): string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FormInstance as ClientFormInstance, FormInstanceInitializationMode } from '../client/form/FormInstance.ts';
|
|
2
|
+
import { FormInstanceConfig } from '../client/index.ts';
|
|
3
|
+
import { BasePrimaryInstanceOptions, PrimaryInstanceInitialState } from '../instance/PrimaryInstance.ts';
|
|
4
|
+
import { Root } from '../instance/Root.ts';
|
|
5
|
+
import { FormSuccessResult } from './FormResult/FormSuccessResult.ts';
|
|
6
|
+
import { FormWarningResult } from './FormResult/FormWarningResult.ts';
|
|
7
|
+
export type InstantiableFormResult = FormSuccessResult | FormWarningResult;
|
|
8
|
+
interface FormInstanceOptions<Mode extends FormInstanceInitializationMode> {
|
|
9
|
+
readonly mode: Mode;
|
|
10
|
+
readonly initialState: PrimaryInstanceInitialState<Mode>;
|
|
11
|
+
readonly instanceOptions: BasePrimaryInstanceOptions;
|
|
12
|
+
readonly instanceConfig: FormInstanceConfig;
|
|
13
|
+
}
|
|
14
|
+
export declare class FormInstance<Mode extends FormInstanceInitializationMode> implements ClientFormInstance<Mode> {
|
|
15
|
+
readonly formResult: InstantiableFormResult;
|
|
16
|
+
readonly mode: Mode;
|
|
17
|
+
readonly root: Root;
|
|
18
|
+
constructor(formResult: InstantiableFormResult, options: FormInstanceOptions<Mode>);
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FormResultStatus, LoadFormFailureResult, LoadFormResult, LoadFormSuccessResult, LoadFormWarningResult } from '../../client/form/LoadFormResult.ts';
|
|
2
|
+
interface LoadFormResultByStatus {
|
|
3
|
+
readonly success: LoadFormSuccessResult;
|
|
4
|
+
readonly warning: LoadFormWarningResult;
|
|
5
|
+
readonly failure: LoadFormFailureResult;
|
|
6
|
+
}
|
|
7
|
+
export type BaseFormResultProperty<Status extends FormResultStatus, Key extends keyof LoadFormResult> = LoadFormResultByStatus[Status][Key];
|
|
8
|
+
export interface BaseFormResultOptions<Status extends FormResultStatus> {
|
|
9
|
+
readonly status: Status;
|
|
10
|
+
readonly warnings: BaseFormResultProperty<Status, 'warnings'>;
|
|
11
|
+
readonly error: BaseFormResultProperty<Status, 'error'>;
|
|
12
|
+
}
|
|
13
|
+
export declare abstract class BaseFormResult<Status extends FormResultStatus> {
|
|
14
|
+
readonly status: Status;
|
|
15
|
+
readonly warnings: BaseFormResultProperty<Status, 'warnings'>;
|
|
16
|
+
readonly error: BaseFormResultProperty<Status, 'error'>;
|
|
17
|
+
abstract readonly createInstance: BaseFormResultProperty<Status, 'createInstance'>;
|
|
18
|
+
abstract readonly editInstance: BaseFormResultProperty<Status, 'editInstance'>;
|
|
19
|
+
abstract readonly restoreInstance: BaseFormResultProperty<Status, 'restoreInstance'>;
|
|
20
|
+
constructor(options: BaseFormResultOptions<Status>);
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CreateFormInstance } from '../../client/form/CreateFormInstance.ts';
|
|
2
|
+
import { EditFormInstance } from '../../client/form/EditFormInstance.ts';
|
|
3
|
+
import { RestoreFormInstance } from '../../client/form/RestoreFormInstance.ts';
|
|
4
|
+
import { BasePrimaryInstanceOptions } from '../../instance/PrimaryInstance.ts';
|
|
5
|
+
import { FormResource } from '../../instance/resource.ts';
|
|
6
|
+
import { ReactiveScope } from '../../lib/reactivity/scope.ts';
|
|
7
|
+
import { InstantiableFormResult } from '../FormInstance.ts';
|
|
8
|
+
import { BaseFormResultProperty, BaseFormResult } from './BaseFormResult.ts';
|
|
9
|
+
export type InstantiableFormResultStatus = 'success' | 'warning';
|
|
10
|
+
export interface BaseInstantiableFormResultOptions<Status extends InstantiableFormResultStatus> {
|
|
11
|
+
readonly status: Status;
|
|
12
|
+
readonly warnings: BaseFormResultProperty<Status, 'warnings'>;
|
|
13
|
+
readonly error: null;
|
|
14
|
+
readonly scope: ReactiveScope;
|
|
15
|
+
readonly formResource: FormResource;
|
|
16
|
+
readonly instanceOptions: BasePrimaryInstanceOptions;
|
|
17
|
+
}
|
|
18
|
+
export declare abstract class BaseInstantiableFormResult<Status extends InstantiableFormResultStatus> extends BaseFormResult<Status> {
|
|
19
|
+
readonly createInstance: CreateFormInstance;
|
|
20
|
+
readonly editInstance: EditFormInstance;
|
|
21
|
+
readonly restoreInstance: RestoreFormInstance;
|
|
22
|
+
constructor(options: BaseInstantiableFormResultOptions<Status>);
|
|
23
|
+
isInstantiable(): this is InstantiableFormResult;
|
|
24
|
+
assertInstantiable(): asserts this is InstantiableFormResult;
|
|
25
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CreateFormInstance } from '../../client/form/CreateFormInstance.ts';
|
|
2
|
+
import { EditFormInstance } from '../../client/form/EditFormInstance.ts';
|
|
3
|
+
import { FailedLoadFormResultMethod, LoadFormFailureResult, LoadFormWarnings } from '../../client/form/LoadFormResult.ts';
|
|
4
|
+
import { RestoreFormInstance } from '../../client/form/RestoreFormInstance.ts';
|
|
5
|
+
import { LoadFormFailureError } from '../../error/LoadFormFailureError.ts';
|
|
6
|
+
import { BaseFormResult } from './BaseFormResult.ts';
|
|
7
|
+
interface FormFailureOptions {
|
|
8
|
+
readonly error: LoadFormFailureError;
|
|
9
|
+
readonly warnings: LoadFormWarnings | null;
|
|
10
|
+
}
|
|
11
|
+
export declare class FormFailureResult extends BaseFormResult<'failure'> implements LoadFormFailureResult {
|
|
12
|
+
readonly createInstance: FailedLoadFormResultMethod<CreateFormInstance>;
|
|
13
|
+
readonly editInstance: FailedLoadFormResultMethod<EditFormInstance>;
|
|
14
|
+
readonly restoreInstance: FailedLoadFormResultMethod<RestoreFormInstance>;
|
|
15
|
+
constructor(options: FormFailureOptions);
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LoadFormSuccessResult } from '../../client/index.ts';
|
|
2
|
+
import { BasePrimaryInstanceOptions } from '../../instance/PrimaryInstance.ts';
|
|
3
|
+
import { FormResource } from '../../instance/resource.ts';
|
|
4
|
+
import { ReactiveScope } from '../../lib/reactivity/scope.ts';
|
|
5
|
+
import { BaseInstantiableFormResult } from './BaseInstantiableFormResult.ts';
|
|
6
|
+
export interface FormSuccessResultOptions {
|
|
7
|
+
readonly warnings: null;
|
|
8
|
+
readonly error: null;
|
|
9
|
+
readonly scope: ReactiveScope;
|
|
10
|
+
readonly formResource: FormResource;
|
|
11
|
+
readonly instanceOptions: BasePrimaryInstanceOptions;
|
|
12
|
+
}
|
|
13
|
+
export declare class FormSuccessResult extends BaseInstantiableFormResult<'success'> implements LoadFormSuccessResult {
|
|
14
|
+
constructor(options: FormSuccessResultOptions);
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LoadFormWarningResult, LoadFormWarnings } from '../../client/form/LoadFormResult.ts';
|
|
2
|
+
import { BasePrimaryInstanceOptions } from '../../instance/PrimaryInstance.ts';
|
|
3
|
+
import { FormResource } from '../../instance/resource.ts';
|
|
4
|
+
import { ReactiveScope } from '../../lib/reactivity/scope.ts';
|
|
5
|
+
import { BaseInstantiableFormResult } from './BaseInstantiableFormResult.ts';
|
|
6
|
+
export interface FormWarningResultOptions {
|
|
7
|
+
readonly warnings: LoadFormWarnings;
|
|
8
|
+
readonly error: null;
|
|
9
|
+
readonly scope: ReactiveScope;
|
|
10
|
+
readonly formResource: FormResource;
|
|
11
|
+
readonly instanceOptions: BasePrimaryInstanceOptions;
|
|
12
|
+
}
|
|
13
|
+
export declare class FormWarningResult extends BaseInstantiableFormResult<'warning'> implements LoadFormWarningResult {
|
|
14
|
+
constructor(options: FormWarningResultOptions);
|
|
15
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CreatedFormInstance } from '../client/form/CreateFormInstance.ts';
|
|
2
|
+
import { FormInstanceConfig } from '../client/form/FormInstanceConfig.ts';
|
|
3
|
+
import { LoadFormOptions } from '../client/form/LoadForm.ts';
|
|
4
|
+
import { FormResource } from '../instance/resource.ts';
|
|
5
|
+
export interface CreateInstanceOptions {
|
|
6
|
+
readonly form?: LoadFormOptions;
|
|
7
|
+
readonly instance?: FormInstanceConfig;
|
|
8
|
+
}
|
|
9
|
+
export declare const createInstance: (formResource: FormResource, options?: CreateInstanceOptions) => Promise<CreatedFormInstance>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EditedFormInstance, EditFormInstanceInput } from '../client/form/EditFormInstance.ts';
|
|
2
|
+
import { FormInstanceConfig } from '../client/form/FormInstanceConfig.ts';
|
|
3
|
+
import { LoadFormOptions } from '../client/form/LoadForm.ts';
|
|
4
|
+
import { FormResource } from '../instance/resource.ts';
|
|
5
|
+
export interface EditInstanceOptions {
|
|
6
|
+
readonly form?: LoadFormOptions;
|
|
7
|
+
readonly instance?: FormInstanceConfig;
|
|
8
|
+
}
|
|
9
|
+
export declare const editInstance: (formResource: FormResource, input: EditFormInstanceInput, options?: EditInstanceOptions) => Promise<EditedFormInstance>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { FormResource } from '../client/form/FormResource.ts';
|
|
2
|
+
import { LoadFormOptions } from '../client/form/LoadForm.ts';
|
|
3
|
+
import { LoadFormResult } from '../client/form/LoadFormResult.ts';
|
|
4
|
+
export declare const loadForm: (formResource: FormResource, options?: LoadFormOptions) => Promise<LoadFormResult>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FormInstanceConfig } from '../client/form/FormInstanceConfig.ts';
|
|
2
|
+
import { LoadFormOptions } from '../client/form/LoadForm.ts';
|
|
3
|
+
import { RestoredFormInstance, RestoreFormInstanceInput } from '../client/form/RestoreFormInstance.ts';
|
|
4
|
+
import { FormResource } from '../instance/resource.ts';
|
|
5
|
+
export interface RestoreInstanceOptions {
|
|
6
|
+
readonly form?: LoadFormOptions;
|
|
7
|
+
readonly instance?: FormInstanceConfig;
|
|
8
|
+
}
|
|
9
|
+
export declare const restoreInstance: (formResource: FormResource, input: RestoreFormInstanceInput, options?: RestoreInstanceOptions) => Promise<RestoredFormInstance>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FormResource } from '../client/form/FormResource.ts';
|
|
2
|
+
/**
|
|
3
|
+
* @todo This is a placeholder class, given a name so it can be referenced in
|
|
4
|
+
* client interfaces for form loading. It is pending design of errors (broadly)
|
|
5
|
+
* and modeling of form loading errors (specifically).
|
|
6
|
+
*/
|
|
7
|
+
export declare class LoadFormFailureError extends AggregateError {
|
|
8
|
+
constructor(resource: FormResource, errors: readonly Error[]);
|
|
9
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This error class is intended as a common point of reference for all of the
|
|
3
|
+
* related interfaces and implementation where we've deferred two concerns:
|
|
4
|
+
*
|
|
5
|
+
* 1. Support for attributes on instance nodes (which may be bound in a form's
|
|
6
|
+
* model and/or may be expected to preserve model-defined defaults)
|
|
7
|
+
* 2. Present lack of logic to treat a `jr:template` attribute as a special
|
|
8
|
+
* case: whereas in the general case we would expect to pass through a
|
|
9
|
+
* form/model-defined attribute, we expect to specifically **omit**
|
|
10
|
+
* `jr:template` from repeat instances derived from any of form's
|
|
11
|
+
* explicitly-defined repeat templates
|
|
12
|
+
*
|
|
13
|
+
* Addressing #1 is (now) a prerequisite to addressing #2, and it is also a
|
|
14
|
+
* prerequisite for #2's unaddressed status to _become meaningfully observable
|
|
15
|
+
* and problematic_.
|
|
16
|
+
*
|
|
17
|
+
* By introducing this error at a point where a change in #1's status is likely
|
|
18
|
+
* to be implicated, we're also likely to be reminded to address #2 in tandem.
|
|
19
|
+
*/
|
|
20
|
+
export declare class TemplatedNodeAttributeSerializationError extends Error {
|
|
21
|
+
constructor();
|
|
22
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,33 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export type * from './client/constants.ts';
|
|
4
|
-
export * as constants from './client/constants.ts';
|
|
5
|
-
export type * from './client/EngineConfig.ts';
|
|
6
|
-
export type * from './client/FormLanguage.ts';
|
|
7
|
-
export type * from './client/GroupNode.ts';
|
|
8
|
-
export type { AnyChildNode, AnyControlNode, AnyLeafNode, AnyNode, AnyParentNode, AnyUnsupportedControlNode, GeneralChildNode, GeneralParentNode, RepeatRangeNode, } from './client/hierarchy.ts';
|
|
9
|
-
export type * from './client/index.ts';
|
|
10
|
-
export type * from './client/InputNode.ts';
|
|
11
|
-
export type * from './client/ModelValueNode.ts';
|
|
12
|
-
export type * from './client/NoteNode.ts';
|
|
13
|
-
export type * from './client/OpaqueReactiveObjectFactory.ts';
|
|
14
|
-
export type * from './client/RangeNode.ts';
|
|
15
|
-
export type * from './client/repeat/RepeatInstanceNode.ts';
|
|
16
|
-
export type * from './client/repeat/RepeatRangeControlledNode.ts';
|
|
17
|
-
export type * from './client/repeat/RepeatRangeUncontrolledNode.ts';
|
|
18
|
-
export type * from './client/resources.ts';
|
|
19
|
-
export type * from './client/RootNode.ts';
|
|
20
|
-
export type * from './client/SelectNode.ts';
|
|
21
|
-
export type * from './client/submission/SubmissionData.ts';
|
|
22
|
-
export type * from './client/submission/SubmissionDefinition.ts';
|
|
23
|
-
export type * from './client/submission/SubmissionInstanceFile.ts';
|
|
24
|
-
export type * from './client/submission/SubmissionOptions.ts';
|
|
25
|
-
export type * from './client/submission/SubmissionResult.ts';
|
|
26
|
-
export type * from './client/submission/SubmissionState.ts';
|
|
27
|
-
export type * from './client/SubtreeNode.ts';
|
|
28
|
-
export type * from './client/TextRange.ts';
|
|
29
|
-
export type * from './client/TriggerNode.ts';
|
|
30
|
-
export type * from './client/RankNode.ts';
|
|
31
|
-
export type * from './client/unsupported/UploadNode.ts';
|
|
32
|
-
export type * from './client/validation.ts';
|
|
33
|
-
export type * from './client/ValueType.ts';
|
|
1
|
+
export * from './client/index.ts';
|
|
2
|
+
export * from './entrypoints/index.ts';
|