Skip to content

Commit d7fe680

Browse files
committed
Replace deeply nested ternary operators with if-return chain
1 parent d12b8d1 commit d7fe680

File tree

1 file changed

+58
-53
lines changed

1 file changed

+58
-53
lines changed

hassio/src/addon-view/config/hassio-addon-config.ts

Lines changed: 58 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -93,60 +93,65 @@ class HassioAddonConfig extends LitElement {
9393
private _convertSchema = memoizeOne(
9494
// Convert supervisor schema to selectors
9595
(schema: Record<string, any>): HaFormSchema[] =>
96-
schema.map((entry) =>
97-
entry.type === "select"
98-
? {
99-
name: entry.name,
100-
required: entry.required,
101-
selector: { select: { options: entry.options } },
102-
}
103-
: entry.type === "string"
104-
? entry.multiple
105-
? {
106-
name: entry.name,
107-
required: entry.required,
108-
selector: {
109-
select: { options: [], multiple: true, custom_value: true },
110-
},
111-
}
112-
: {
113-
name: entry.name,
114-
required: entry.required,
115-
selector: {
116-
text: {
117-
type: entry.format
118-
? entry.format
119-
: MASKED_FIELDS.includes(entry.name)
120-
? "password"
121-
: "text",
122-
},
96+
schema.map((entry) => {
97+
if (entry.type === "select") {
98+
return {
99+
name: entry.name,
100+
required: entry.required,
101+
selector: { select: { options: entry.options } },
102+
};
103+
}
104+
if (entry.type === "string") {
105+
return entry.multiple
106+
? {
107+
name: entry.name,
108+
required: entry.required,
109+
selector: {
110+
select: { options: [], multiple: true, custom_value: true },
111+
},
112+
}
113+
: {
114+
name: entry.name,
115+
required: entry.required,
116+
selector: {
117+
text: {
118+
type: entry.format
119+
? entry.format
120+
: MASKED_FIELDS.includes(entry.name)
121+
? "password"
122+
: "text",
123123
},
124-
}
125-
: entry.type === "boolean"
126-
? {
127-
name: entry.name,
128-
required: entry.required,
129-
selector: { boolean: {} },
130-
}
131-
: entry.type === "schema"
132-
? {
133-
name: entry.name,
134-
required: entry.required,
135-
selector: { object: {} },
136-
}
137-
: entry.type === "float" || entry.type === "integer"
138-
? {
139-
name: entry.name,
140-
required: entry.required,
141-
selector: {
142-
number: {
143-
mode: "box",
144-
step: entry.type === "float" ? "any" : undefined,
145-
},
146-
},
147-
}
148-
: entry
149-
)
124+
},
125+
};
126+
}
127+
if (entry.type === "boolean") {
128+
return {
129+
name: entry.name,
130+
required: entry.required,
131+
selector: { boolean: {} },
132+
};
133+
}
134+
if (entry.type === "schema") {
135+
return {
136+
name: entry.name,
137+
required: entry.required,
138+
selector: { object: {} },
139+
};
140+
}
141+
if (entry.type === "float" || entry.type === "integer") {
142+
return {
143+
name: entry.name,
144+
required: entry.required,
145+
selector: {
146+
number: {
147+
mode: "box",
148+
step: entry.type === "float" ? "any" : undefined,
149+
},
150+
},
151+
};
152+
}
153+
return entry;
154+
})
150155
);
151156

152157
private _filteredSchema = memoizeOne(

0 commit comments

Comments
 (0)