Skip to content

Commit 9dc1a86

Browse files
authored
refactor: improve options.open normalization (#157)
1 parent 083be3e commit 9dc1a86

1 file changed

Lines changed: 22 additions & 21 deletions

File tree

src/server.ts

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,41 +1061,42 @@ class Server<
10611061
return [{ target: normalizedTarget, options: normalizedOptions }];
10621062
};
10631063

1064+
let normalizedOpens: NormalizedOpen[] = [];
1065+
10641066
if (typeof options.open === 'undefined') {
1065-
options.open = [];
1067+
// do nothing
10661068
} else if (typeof options.open === 'boolean') {
1067-
options.open = options.open
1068-
? ([
1069-
{
1070-
target: '<url>',
1071-
options: defaultOpenOptions,
1072-
},
1073-
] as NormalizedOpen[])
1074-
: [];
1069+
if (options.open) {
1070+
normalizedOpens = [
1071+
{
1072+
target: '<url>',
1073+
options: defaultOpenOptions,
1074+
},
1075+
];
1076+
}
10751077
} else if (typeof options.open === 'string') {
1076-
options.open = [
1077-
{ target: options.open, options: defaultOpenOptions },
1078-
] as NormalizedOpen[];
1078+
normalizedOpens = [
1079+
{
1080+
target: options.open,
1081+
options: defaultOpenOptions,
1082+
},
1083+
];
10791084
} else if (Array.isArray(options.open)) {
1080-
const result: NormalizedOpen[] = [];
1081-
10821085
for (const item of options.open) {
10831086
if (typeof item === 'string') {
1084-
result.push({ target: item, options: defaultOpenOptions });
1087+
normalizedOpens.push({ target: item, options: defaultOpenOptions });
10851088
// eslint-disable-next-line no-continue
10861089
continue;
10871090
}
10881091

1089-
result.push(...getOpenItemsFromObject(item));
1092+
normalizedOpens.push(...getOpenItemsFromObject(item));
10901093
}
1091-
1092-
options.open = result as NormalizedOpen[];
10931094
} else {
1094-
options.open = [
1095-
...getOpenItemsFromObject(options.open),
1096-
] as NormalizedOpen[];
1095+
normalizedOpens = [...getOpenItemsFromObject(options.open)];
10971096
}
10981097

1098+
options.open = normalizedOpens;
1099+
10991100
if (typeof options.port === 'string' && options.port !== 'auto') {
11001101
options.port = Number(options.port);
11011102
}

0 commit comments

Comments
 (0)