Files
iptvnator/libs/shared/interfaces/src/lib/external-player-arguments.utils.ts
T
4gray a40d5447e7 feat(settings): add external player arguments (#932)
* 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
2026-05-14 11:04:01 +02:00

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');
}