(value)
| 166 | } |
| 167 | |
| 168 | function stableStringify(value) { |
| 169 | if (Array.isArray(value)) { |
| 170 | return `[${value.map((v) => stableStringify(v)).join(",")}]`; |
| 171 | } |
| 172 | if (isPlainObject(value)) { |
| 173 | const keys = Object.keys(value).sort(); |
| 174 | return `{${keys.map((k) => `${JSON.stringify(k)}:${stableStringify(value[k])}`).join(",")}}`; |
| 175 | } |
| 176 | return JSON.stringify(value); |
| 177 | } |
| 178 | |
| 179 | function makeDescriptorKey(scenario, framework, params) { |
| 180 | return `${scenario}|${framework}|${stableStringify(params ?? {})}`; |
no test coverage detected