@molgenis/vip-report-template 7.0.4 → 7.0.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@molgenis/vip-report-template",
3
- "version": "7.0.4",
3
+ "version": "7.0.6",
4
4
  "description": "Report Template for Variant Call Format (VCF) Report Generator",
5
5
  "license": "LGPL-3.0",
6
6
  "devDependencies": {
@@ -17,8 +17,8 @@ export const FieldVipC: Component<{
17
17
 
18
18
  return (
19
19
  <a onClick={onClick}>
20
- <Show when={props.value.vipP} fallback={<span>{props.value.vipC!.value}</span>} keyed>
21
- {(vipPItem) => <Abbr title={vipPItem.join(", ")} value={props.value.vipC!.value!} />}
20
+ <Show when={props.value.vipP} fallback={<span>{props.value.vipC!.label}</span>} keyed>
21
+ {(vipPItem) => <Abbr title={vipPItem.join(", ")} value={props.value.vipC!.label!} />}
22
22
  </Show>
23
23
  </a>
24
24
  );
@@ -7,8 +7,8 @@ export const FieldVipCS: Component<{
7
7
  }> = (props) => {
8
8
  return (
9
9
  <Show when={props.value.vipCS !== null}>
10
- <Show when={props.value.vipPS} fallback={<span>{props.value.vipCS!.value}</span>} keyed>
11
- {(vipPSItem) => <Abbr title={vipPSItem.join(", ")} value={props.value.vipCS!.value!} />}
10
+ <Show when={props.value.vipPS} fallback={<span>{props.value.vipCS!.label}</span>} keyed>
11
+ {(vipPSItem) => <Abbr title={vipPSItem.join(", ")} value={props.value.vipCS!.label!} />}
12
12
  </Show>
13
13
  </Show>
14
14
  );
@@ -6,7 +6,7 @@ export const FieldFlag: Component<{
6
6
  }> = (props) => {
7
7
  return (
8
8
  <Show when={props.value !== null && props.value !== undefined}>
9
- <span>{props.value as boolean}</span>
9
+ <span>{(props.value as boolean).toString()}</span>
10
10
  </Show>
11
11
  );
12
12
  };
@@ -10,7 +10,7 @@ export const FieldTyped: Component<{
10
10
  }> = (props) => {
11
11
  return (
12
12
  <>
13
- {props.metadata.number.count === 1 ? (
13
+ {props.metadata.number.count === 0 || props.metadata.number.count === 1 ? (
14
14
  <FieldTypedItem value={props.value as FieldValueSingle | undefined} metadata={props.metadata} />
15
15
  ) : (
16
16
  <FieldTypedMultiple info={props.value as FieldValueSingle[]} infoMetadata={props.metadata} />
package/src/utils/vcf.ts CHANGED
@@ -84,7 +84,9 @@ function mapFieldValueDefined(value: Value | Genotype, fieldMetadata: FieldMetad
84
84
 
85
85
  function mapFieldValue(value: Value | Genotype | undefined, fieldMetadata: FieldMetadataWrapper): FieldValue {
86
86
  let definedValue: Value | Genotype;
87
- if (fieldMetadata.number.count === 1) {
87
+ if (fieldMetadata.number.count === 0) {
88
+ definedValue = value !== undefined ? value : false;
89
+ } else if (fieldMetadata.number.count === 1) {
88
90
  definedValue = value !== undefined ? value : null;
89
91
  } else {
90
92
  definedValue = value !== undefined && value !== null ? value : [];
@@ -38,6 +38,18 @@ describe("vcf", () => {
38
38
  } as Item<VcfRecord>;
39
39
 
40
40
  describe("getInfoValue", () => {
41
+ test("field count=0 value=true", () => {
42
+ const record = { ...recordBase, data: { ...recordBase.data, n: { f: true } } };
43
+ const fieldMetadata = { id: "f", type: "FLAG", number: { count: 0 } } as FieldMetadataWrapper;
44
+ expect(getInfoValue(record, 0, fieldMetadata)).toStrictEqual(true);
45
+ });
46
+
47
+ test("field count=0 value=undefined", () => {
48
+ const record = { ...recordBase, data: { ...recordBase.data, n: {} } };
49
+ const fieldMetadata = { id: "f", type: "FLAG", number: { count: 0 } } as FieldMetadataWrapper;
50
+ expect(getInfoValue(record, 0, fieldMetadata)).toStrictEqual(false);
51
+ });
52
+
41
53
  test("field count=1", () => {
42
54
  const record = { ...recordBase, data: { ...recordBase.data, n: { f: 1 } } };
43
55
  const fieldMetadata = { id: "f", number: { count: 1 } } as FieldMetadataWrapper;