Wie definiere ich einen Typ fürTyposkript Typ für Array mit unendlicher Tiefe
string|string[]|string[][]|string[][][] // ad infinitum
in Typoskript?
edit: die Lösung wäre:
type Rec = string | string[] | Rec[]
aber das ist nicht erlaubt.
Hier ist meine usecase:
interface RecursiveArray<T> {
[index: number]: (RecursiveArray<T> | T);
}
type Recursive<T> = T|RecursiveArray<T>
function stringValue (value: Recursive<string|boolean>): Recursive<string> {
if (typeof value === 'boolean') {
return value ? 'true' : 'false';
}
if (Array.isArray (value)) {
return (value).map (stringValue);
}
return stringValue(value);
}
Einfachste Antwort ist nur Typ 'any', aber das ist nicht gut typisiert. Haben Sie versucht, es als 'Array' einzugeben? –
Nieminen
Kann ich Sie nach dem Anwendungsfall eines unendlich tiefen Arrays fragen? –
Die einzige Lösung, die ich sehen kann, wäre eine zirkuläre Referenz, die Typoskript automatisch erkennen, mehr Informationen über Ihren Anwendungsfall könnte helfen – jrmgx