* Serialize a filter list into a delimiter-safe, order-insensitive token. A * filter value can itself contain a comma (Obsidian folder/tag/file names may, * and the token grammar only ever splits on `|`), so a plain `,`-join is NOT * injective: `['a,b']` and `['a', 'b']` would both render as `a,b
( values: readonly string[], transform: (value: string) => string = (value) => value, )
| 58 | * the encoding unambiguous (`["a,b"]` vs `["a","b"]`). |
| 59 | */ |
| 60 | function encodeSignatureList( |
| 61 | values: readonly string[], |
| 62 | transform: (value: string) => string = (value) => value, |
| 63 | ): string { |
| 64 | return JSON.stringify([...values].map(transform).sort()); |
| 65 | } |
| 66 | |
| 67 | /** |
| 68 | * The slash- and order-insensitive part of the cache key that determines WHICH |
no outgoing calls
no test coverage detected