mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-10 18:36:15 -08:00
* feat(settings): add external player arguments * fix(settings): address external player argument review * fix(settings): require external player argument settings * feat(settings): add external player argument placeholders Closes https://github.com/4gray/iptvnator/issues/835
29 lines
670 B
TypeScript
29 lines
670 B
TypeScript
export type ExternalPlayerArgumentsInput =
|
|
| string
|
|
| readonly unknown[]
|
|
| null
|
|
| undefined;
|
|
|
|
export function parseExternalPlayerArguments(
|
|
value: ExternalPlayerArgumentsInput
|
|
): string[] {
|
|
if (Array.isArray(value)) {
|
|
return value.map((argument) => String(argument).trim()).filter(Boolean);
|
|
}
|
|
|
|
if (typeof value !== 'string') {
|
|
return [];
|
|
}
|
|
|
|
return value
|
|
.split(/\r?\n/)
|
|
.map((argument) => argument.trim())
|
|
.filter(Boolean);
|
|
}
|
|
|
|
export function normalizeExternalPlayerArguments(
|
|
value: ExternalPlayerArgumentsInput
|
|
): string {
|
|
return parseExternalPlayerArguments(value).join('\n');
|
|
}
|