( app: App, fieldName: string, filters: FieldFilter, )
| 48 | } |
| 49 | |
| 50 | export async function collectFieldValuesProcessedDetailed( |
| 51 | app: App, |
| 52 | fieldName: string, |
| 53 | filters: FieldFilter, |
| 54 | ): Promise<{ values: string[]; hasDefaultValue: boolean }> { |
| 55 | const cache = FieldSuggestionCache.getInstance(); |
| 56 | const cacheKey = generateFieldCacheKey(filters); |
| 57 | let rawValues = cache.get(fieldName, cacheKey); |
| 58 | if (!rawValues) { |
| 59 | rawValues = await collectFieldValuesRaw(app, fieldName, filters); |
| 60 | cache.set(fieldName, rawValues, cacheKey); |
| 61 | } |
| 62 | |
| 63 | const processed = FieldValueProcessor.processValues(rawValues, filters); |
| 64 | return { |
| 65 | values: processed.values, |
| 66 | hasDefaultValue: processed.hasDefaultValue, |
| 67 | }; |
| 68 | } |
| 69 | |
| 70 | export async function collectFieldValuesRaw( |
| 71 | app: App, |
no test coverage detected