@defra/forms-model 3.0.500 → 3.0.501
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.
@@ -20,11 +20,11 @@ export function isConditionRelativeDateValueDataV2(condition) {
|
|
20
20
|
function getListItem(model, listId, itemId) {
|
21
21
|
const foundList = model.getListById(listId);
|
22
22
|
if (!foundList) {
|
23
|
-
throw Error(
|
23
|
+
throw Error(`List ${listId} not found`);
|
24
24
|
}
|
25
25
|
const item = foundList.items.find(item => item.id === itemId);
|
26
26
|
if (!item) {
|
27
|
-
throw Error(
|
27
|
+
throw Error(`List item ${itemId} not found`);
|
28
28
|
}
|
29
29
|
return item;
|
30
30
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"migration.js","names":["ConditionType","isConditionListItemRefValueDataV2","condition","type","ListItemRef","isConditionStringValueDataV2","StringValue","isConditionBooleanValueDataV2","BooleanValue","isConditionNumberValueDataV2","NumberValue","isConditionDateValueDataV2","DateValue","isConditionRelativeDateValueDataV2","RelativeDate","getListItem","model","listId","itemId","foundList","getListById","Error","item","items","find","id","createConditionValueDataFromListItemRefV2","value","refValue","display","text","Value","toString","createConditionValueDataFromStringOrDateValueDataV2","createConditionValueDataFromStringValueDataV2","createConditionValueDataFromDateValueDataV2","createConditionValueDataFromRelativeDateValueDataV2","period","unit","direction","createConditionValueDataFromNumberValueDataV2","createConditionValueDataFromBooleanValueDataV2","isConditionDataV2","convertConditionDataV2","coordinator","component","getComponentById","componentId","newValue","field","name","title","operator","convertConditionRefDataFromV2","refCondition","getConditionById","conditionId","conditionName","displayName","conditionDisplayName","isConditionWrapperV2","wrapper","Array","isArray","isConditionWrapper","convertConditionWrapperFromV2","conditionWrapper","length","newConditionWrapper","conditions","map","index","newCondition","undefined"],"sources":["../../../src/conditions/migration.ts"],"sourcesContent":["import {\n type ComponentDef,\n type ConditionalComponentType\n} from '~/src/components/types.js'\nimport { ConditionType, type Coordinator } from '~/src/conditions/enums.js'\nimport {\n type ConditionData,\n type ConditionDataV2,\n type ConditionListItemRefValueDataV2,\n type ConditionRefData,\n type ConditionRefDataV2,\n type ConditionValueData,\n type RelativeDateValueData,\n type RelativeDateValueDataV2\n} from '~/src/conditions/types.js'\nimport {\n type ConditionWrapper,\n type ConditionWrapperV2,\n type List\n} from '~/src/form/form-definition/types.js'\n\nexport function isConditionListItemRefValueDataV2(condition: ConditionDataV2) {\n return condition.type === ConditionType.ListItemRef\n}\n\nexport function isConditionStringValueDataV2(condition: ConditionDataV2) {\n return condition.type === ConditionType.StringValue\n}\n\nexport function isConditionBooleanValueDataV2(condition: ConditionDataV2) {\n return condition.type === ConditionType.BooleanValue\n}\n\nexport function isConditionNumberValueDataV2(condition: ConditionDataV2) {\n return condition.type === ConditionType.NumberValue\n}\n\nexport function isConditionDateValueDataV2(condition: ConditionDataV2) {\n return condition.type === ConditionType.DateValue\n}\n\nexport function isConditionRelativeDateValueDataV2(condition: ConditionDataV2) {\n return condition.type === ConditionType.RelativeDate\n}\n\nfunction getListItem(model: RuntimeFormModel, listId: string, itemId: string) {\n const foundList = model.getListById(listId)\n\n if (!foundList) {\n throw Error('List not found')\n }\n\n const item = foundList.items.find((item) => item.id === itemId)\n\n if (!item) {\n throw Error('List item not found')\n }\n\n return item\n}\n\nfunction createConditionValueDataFromListItemRefV2(\n condition: ConditionDataV2,\n model: RuntimeFormModel\n): ConditionValueData {\n const value = condition.value as ConditionListItemRefValueDataV2\n const refValue = getListItem(model, value.listId, value.itemId)\n\n return {\n display: refValue.text,\n type: ConditionType.Value,\n value: refValue.value.toString()\n }\n}\n\nfunction createConditionValueDataFromStringOrDateValueDataV2(\n condition: ConditionDataV2\n): ConditionValueData {\n return {\n type: ConditionType.Value,\n value: condition.value as string,\n display: condition.value as string\n }\n}\n\nfunction createConditionValueDataFromStringValueDataV2(\n condition: ConditionDataV2\n): ConditionValueData {\n return createConditionValueDataFromStringOrDateValueDataV2(condition)\n}\n\nfunction createConditionValueDataFromDateValueDataV2(\n condition: ConditionDataV2\n): ConditionValueData {\n return createConditionValueDataFromStringOrDateValueDataV2(condition)\n}\n\nfunction createConditionValueDataFromRelativeDateValueDataV2(\n condition: ConditionDataV2\n): RelativeDateValueData {\n const value = condition.value as RelativeDateValueDataV2\n return {\n type: ConditionType.RelativeDate,\n period: value.period.toString(),\n unit: value.unit,\n direction: value.direction\n }\n}\n\nfunction createConditionValueDataFromNumberValueDataV2(\n condition: ConditionDataV2\n): ConditionValueData {\n return {\n type: ConditionType.Value,\n value: (condition.value as number).toString(),\n display: (condition.value as number).toString()\n }\n}\n\nfunction createConditionValueDataFromBooleanValueDataV2(\n condition: ConditionDataV2\n): ConditionValueData {\n return {\n type: ConditionType.Value,\n value: (condition.value as boolean).toString(),\n display: (condition.value as boolean) ? 'Yes' : 'No'\n }\n}\n\nfunction isConditionDataV2(\n condition: ConditionDataV2 | ConditionRefDataV2\n): condition is ConditionDataV2 {\n return 'componentId' in condition\n}\n\nfunction convertConditionDataV2(\n model: RuntimeFormModel,\n condition: ConditionDataV2,\n coordinator: Coordinator | undefined\n): ConditionData {\n const component = model.getComponentById(condition.componentId)\n\n if (!component) {\n throw Error('Component not found')\n }\n\n let newValue\n if (isConditionListItemRefValueDataV2(condition)) {\n newValue = createConditionValueDataFromListItemRefV2(condition, model)\n } else if (isConditionStringValueDataV2(condition)) {\n newValue = createConditionValueDataFromStringValueDataV2(condition)\n } else if (isConditionBooleanValueDataV2(condition)) {\n newValue = createConditionValueDataFromBooleanValueDataV2(condition)\n } else if (isConditionNumberValueDataV2(condition)) {\n newValue = createConditionValueDataFromNumberValueDataV2(condition)\n } else if (isConditionDateValueDataV2(condition)) {\n newValue = createConditionValueDataFromDateValueDataV2(condition)\n } else if (isConditionRelativeDateValueDataV2(condition)) {\n newValue = createConditionValueDataFromRelativeDateValueDataV2(condition)\n } else {\n throw Error('Unsupported condition type')\n }\n\n return {\n field: {\n name: component.name,\n type: component.type as ConditionalComponentType /** @todo fix this */,\n display: component.title\n },\n operator: condition.operator,\n value: newValue,\n coordinator\n }\n}\n\nfunction convertConditionRefDataFromV2(\n model: RuntimeFormModel,\n condition: ConditionRefDataV2,\n coordinator: Coordinator | undefined\n): ConditionRefData {\n const refCondition = model.getConditionById(condition.conditionId)\n\n if (!refCondition) {\n throw Error('Component not found')\n }\n\n return {\n conditionName: refCondition.displayName,\n conditionDisplayName: refCondition.displayName,\n coordinator\n }\n}\n\nexport function isConditionWrapperV2(\n wrapper: ConditionWrapper | ConditionWrapperV2\n): wrapper is ConditionWrapperV2 {\n return Array.isArray((wrapper as ConditionWrapperV2).items)\n}\n\nexport function isConditionWrapper(\n wrapper: ConditionWrapper | ConditionWrapperV2\n): wrapper is ConditionWrapper {\n return !isConditionWrapperV2(wrapper)\n}\n\nexport function convertConditionWrapperFromV2(\n conditionWrapper: ConditionWrapperV2,\n model: RuntimeFormModel\n): ConditionWrapper {\n let coordinator\n\n if (conditionWrapper.items.length > 1 && !conditionWrapper.coordinator) {\n throw new Error('Coordinator is required for multiple conditions')\n } else {\n coordinator = conditionWrapper.coordinator\n }\n\n const newConditionWrapper: ConditionWrapper = {\n name: conditionWrapper.id,\n displayName: conditionWrapper.displayName,\n value: {\n name: conditionWrapper.id,\n conditions: conditionWrapper.items.map((condition, index) => {\n let newCondition: ConditionData | ConditionRefData\n\n if (isConditionDataV2(condition)) {\n newCondition = convertConditionDataV2(\n model,\n condition,\n index > 0 ? coordinator : undefined\n )\n } else {\n newCondition = convertConditionRefDataFromV2(\n model,\n condition,\n index > 0 ? coordinator : undefined\n )\n }\n\n return newCondition\n })\n }\n }\n\n return newConditionWrapper\n}\n\nexport interface RuntimeFormModel {\n getListById: (listId: string) => List | undefined\n getComponentById: (componentId: string) => ComponentDef | undefined\n getConditionById: (conditionId: string) => ConditionWrapperV2 | undefined\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"migration.js","names":["ConditionType","isConditionListItemRefValueDataV2","condition","type","ListItemRef","isConditionStringValueDataV2","StringValue","isConditionBooleanValueDataV2","BooleanValue","isConditionNumberValueDataV2","NumberValue","isConditionDateValueDataV2","DateValue","isConditionRelativeDateValueDataV2","RelativeDate","getListItem","model","listId","itemId","foundList","getListById","Error","item","items","find","id","createConditionValueDataFromListItemRefV2","value","refValue","display","text","Value","toString","createConditionValueDataFromStringOrDateValueDataV2","createConditionValueDataFromStringValueDataV2","createConditionValueDataFromDateValueDataV2","createConditionValueDataFromRelativeDateValueDataV2","period","unit","direction","createConditionValueDataFromNumberValueDataV2","createConditionValueDataFromBooleanValueDataV2","isConditionDataV2","convertConditionDataV2","coordinator","component","getComponentById","componentId","newValue","field","name","title","operator","convertConditionRefDataFromV2","refCondition","getConditionById","conditionId","conditionName","displayName","conditionDisplayName","isConditionWrapperV2","wrapper","Array","isArray","isConditionWrapper","convertConditionWrapperFromV2","conditionWrapper","length","newConditionWrapper","conditions","map","index","newCondition","undefined"],"sources":["../../../src/conditions/migration.ts"],"sourcesContent":["import {\n type ComponentDef,\n type ConditionalComponentType\n} from '~/src/components/types.js'\nimport { ConditionType, type Coordinator } from '~/src/conditions/enums.js'\nimport {\n type ConditionData,\n type ConditionDataV2,\n type ConditionListItemRefValueDataV2,\n type ConditionRefData,\n type ConditionRefDataV2,\n type ConditionValueData,\n type RelativeDateValueData,\n type RelativeDateValueDataV2\n} from '~/src/conditions/types.js'\nimport {\n type ConditionWrapper,\n type ConditionWrapperV2,\n type List\n} from '~/src/form/form-definition/types.js'\n\nexport function isConditionListItemRefValueDataV2(condition: ConditionDataV2) {\n return condition.type === ConditionType.ListItemRef\n}\n\nexport function isConditionStringValueDataV2(condition: ConditionDataV2) {\n return condition.type === ConditionType.StringValue\n}\n\nexport function isConditionBooleanValueDataV2(condition: ConditionDataV2) {\n return condition.type === ConditionType.BooleanValue\n}\n\nexport function isConditionNumberValueDataV2(condition: ConditionDataV2) {\n return condition.type === ConditionType.NumberValue\n}\n\nexport function isConditionDateValueDataV2(condition: ConditionDataV2) {\n return condition.type === ConditionType.DateValue\n}\n\nexport function isConditionRelativeDateValueDataV2(condition: ConditionDataV2) {\n return condition.type === ConditionType.RelativeDate\n}\n\nfunction getListItem(model: RuntimeFormModel, listId: string, itemId: string) {\n const foundList = model.getListById(listId)\n\n if (!foundList) {\n throw Error(`List ${listId} not found`)\n }\n\n const item = foundList.items.find((item) => item.id === itemId)\n\n if (!item) {\n throw Error(`List item ${itemId} not found`)\n }\n\n return item\n}\n\nfunction createConditionValueDataFromListItemRefV2(\n condition: ConditionDataV2,\n model: RuntimeFormModel\n): ConditionValueData {\n const value = condition.value as ConditionListItemRefValueDataV2\n const refValue = getListItem(model, value.listId, value.itemId)\n\n return {\n display: refValue.text,\n type: ConditionType.Value,\n value: refValue.value.toString()\n }\n}\n\nfunction createConditionValueDataFromStringOrDateValueDataV2(\n condition: ConditionDataV2\n): ConditionValueData {\n return {\n type: ConditionType.Value,\n value: condition.value as string,\n display: condition.value as string\n }\n}\n\nfunction createConditionValueDataFromStringValueDataV2(\n condition: ConditionDataV2\n): ConditionValueData {\n return createConditionValueDataFromStringOrDateValueDataV2(condition)\n}\n\nfunction createConditionValueDataFromDateValueDataV2(\n condition: ConditionDataV2\n): ConditionValueData {\n return createConditionValueDataFromStringOrDateValueDataV2(condition)\n}\n\nfunction createConditionValueDataFromRelativeDateValueDataV2(\n condition: ConditionDataV2\n): RelativeDateValueData {\n const value = condition.value as RelativeDateValueDataV2\n return {\n type: ConditionType.RelativeDate,\n period: value.period.toString(),\n unit: value.unit,\n direction: value.direction\n }\n}\n\nfunction createConditionValueDataFromNumberValueDataV2(\n condition: ConditionDataV2\n): ConditionValueData {\n return {\n type: ConditionType.Value,\n value: (condition.value as number).toString(),\n display: (condition.value as number).toString()\n }\n}\n\nfunction createConditionValueDataFromBooleanValueDataV2(\n condition: ConditionDataV2\n): ConditionValueData {\n return {\n type: ConditionType.Value,\n value: (condition.value as boolean).toString(),\n display: (condition.value as boolean) ? 'Yes' : 'No'\n }\n}\n\nfunction isConditionDataV2(\n condition: ConditionDataV2 | ConditionRefDataV2\n): condition is ConditionDataV2 {\n return 'componentId' in condition\n}\n\nfunction convertConditionDataV2(\n model: RuntimeFormModel,\n condition: ConditionDataV2,\n coordinator: Coordinator | undefined\n): ConditionData {\n const component = model.getComponentById(condition.componentId)\n\n if (!component) {\n throw Error('Component not found')\n }\n\n let newValue\n if (isConditionListItemRefValueDataV2(condition)) {\n newValue = createConditionValueDataFromListItemRefV2(condition, model)\n } else if (isConditionStringValueDataV2(condition)) {\n newValue = createConditionValueDataFromStringValueDataV2(condition)\n } else if (isConditionBooleanValueDataV2(condition)) {\n newValue = createConditionValueDataFromBooleanValueDataV2(condition)\n } else if (isConditionNumberValueDataV2(condition)) {\n newValue = createConditionValueDataFromNumberValueDataV2(condition)\n } else if (isConditionDateValueDataV2(condition)) {\n newValue = createConditionValueDataFromDateValueDataV2(condition)\n } else if (isConditionRelativeDateValueDataV2(condition)) {\n newValue = createConditionValueDataFromRelativeDateValueDataV2(condition)\n } else {\n throw Error('Unsupported condition type')\n }\n\n return {\n field: {\n name: component.name,\n type: component.type as ConditionalComponentType /** @todo fix this */,\n display: component.title\n },\n operator: condition.operator,\n value: newValue,\n coordinator\n }\n}\n\nfunction convertConditionRefDataFromV2(\n model: RuntimeFormModel,\n condition: ConditionRefDataV2,\n coordinator: Coordinator | undefined\n): ConditionRefData {\n const refCondition = model.getConditionById(condition.conditionId)\n\n if (!refCondition) {\n throw Error('Component not found')\n }\n\n return {\n conditionName: refCondition.displayName,\n conditionDisplayName: refCondition.displayName,\n coordinator\n }\n}\n\nexport function isConditionWrapperV2(\n wrapper: ConditionWrapper | ConditionWrapperV2\n): wrapper is ConditionWrapperV2 {\n return Array.isArray((wrapper as ConditionWrapperV2).items)\n}\n\nexport function isConditionWrapper(\n wrapper: ConditionWrapper | ConditionWrapperV2\n): wrapper is ConditionWrapper {\n return !isConditionWrapperV2(wrapper)\n}\n\nexport function convertConditionWrapperFromV2(\n conditionWrapper: ConditionWrapperV2,\n model: RuntimeFormModel\n): ConditionWrapper {\n let coordinator\n\n if (conditionWrapper.items.length > 1 && !conditionWrapper.coordinator) {\n throw new Error('Coordinator is required for multiple conditions')\n } else {\n coordinator = conditionWrapper.coordinator\n }\n\n const newConditionWrapper: ConditionWrapper = {\n name: conditionWrapper.id,\n displayName: conditionWrapper.displayName,\n value: {\n name: conditionWrapper.id,\n conditions: conditionWrapper.items.map((condition, index) => {\n let newCondition: ConditionData | ConditionRefData\n\n if (isConditionDataV2(condition)) {\n newCondition = convertConditionDataV2(\n model,\n condition,\n index > 0 ? coordinator : undefined\n )\n } else {\n newCondition = convertConditionRefDataFromV2(\n model,\n condition,\n index > 0 ? coordinator : undefined\n )\n }\n\n return newCondition\n })\n }\n }\n\n return newConditionWrapper\n}\n\nexport interface RuntimeFormModel {\n getListById: (listId: string) => List | undefined\n getComponentById: (componentId: string) => ComponentDef | undefined\n getConditionById: (conditionId: string) => ConditionWrapperV2 | undefined\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
@@ -47,13 +47,13 @@ function getListItem(model: RuntimeFormModel, listId: string, itemId: string) {
|
|
47
47
|
const foundList = model.getListById(listId)
|
48
48
|
|
49
49
|
if (!foundList) {
|
50
|
-
throw Error(
|
50
|
+
throw Error(`List ${listId} not found`)
|
51
51
|
}
|
52
52
|
|
53
53
|
const item = foundList.items.find((item) => item.id === itemId)
|
54
54
|
|
55
55
|
if (!item) {
|
56
|
-
throw Error(
|
56
|
+
throw Error(`List item ${itemId} not found`)
|
57
57
|
}
|
58
58
|
|
59
59
|
return item
|