(
baseKey: string,
entries: Array<{ key?: string; fieldName?: string }>,
)
| 1870 | } |
| 1871 | |
| 1872 | function getUniqueIncludesRoutingKey( |
| 1873 | baseKey: string, |
| 1874 | entries: Array<{ key?: string; fieldName?: string }>, |
| 1875 | ): string { |
| 1876 | const hasKey = (key: string) => |
| 1877 | entries.some((entry) => (entry.key ?? entry.fieldName) === key) |
| 1878 | |
| 1879 | if (!hasKey(baseKey)) { |
| 1880 | return baseKey |
| 1881 | } |
| 1882 | |
| 1883 | let suffix = entries.length |
| 1884 | let key = `${baseKey}#${suffix}` |
| 1885 | while (hasKey(key)) { |
| 1886 | suffix++ |
| 1887 | key = `${baseKey}#${suffix}` |
| 1888 | } |
| 1889 | return key |
| 1890 | } |
| 1891 | |
| 1892 | /** Check if a value is a nested plain object in a select (not an IR expression node) */ |
| 1893 | function isNestedSelectObject(value: any): value is Record<string, any> { |
no test coverage detected