| 26 | }; |
| 27 | |
| 28 | const readParamValue = (args: Record<string, unknown>, param: OperationParameter): unknown => { |
| 29 | const direct = args[param.name]; |
| 30 | if (direct !== undefined) return direct; |
| 31 | |
| 32 | for (const key of CONTAINER_KEYS[param.location] ?? []) { |
| 33 | const container = args[key]; |
| 34 | if (typeof container === "object" && container !== null && !Array.isArray(container)) { |
| 35 | const nested = (container as Record<string, unknown>)[param.name]; |
| 36 | if (nested !== undefined) return nested; |
| 37 | } |
| 38 | } |
| 39 | |
| 40 | return undefined; |
| 41 | }; |
| 42 | |
| 43 | const primitiveToString = (value: unknown): string => |
| 44 | typeof value === "object" && value !== null ? JSON.stringify(value) : String(value); |