packages/apps-tools/lib/net/queryfields.ts (19 lines of code) (raw):

// eslint-disable-next-line @typescript-eslint/no-explicit-any export function queryfields(it: Record<string, any> | string[] | string | undefined): string { if (it === undefined) { return ''; } if (typeof it === 'string') { return it; } if (Array.isArray(it)) { return it.map(i => queryfields(i)).join(','); } if (it !== null && typeof it === 'object') { return queryfields( Object.keys(it).reduce((result: string[], i: string) => { return result.concat(i + '(' + queryfields(it[i]) + ')'); }, []), ); } return ''; }