| 610 | } |
| 611 | |
| 612 | export function fillPlaceholders(params: unknown[], values: Record<string, unknown>): unknown[] { |
| 613 | return params.map((p) => { |
| 614 | if (is(p, Placeholder)) { |
| 615 | if (!(p.name in values)) { |
| 616 | throw new Error(`No value for placeholder "${p.name}" was provided`); |
| 617 | } |
| 618 | |
| 619 | return values[p.name]; |
| 620 | } |
| 621 | |
| 622 | if (is(p, Param) && is(p.value, Placeholder)) { |
| 623 | if (!(p.value.name in values)) { |
| 624 | throw new Error(`No value for placeholder "${p.value.name}" was provided`); |
| 625 | } |
| 626 | |
| 627 | return p.encoder.mapToDriverValue(values[p.value.name]); |
| 628 | } |
| 629 | |
| 630 | return p; |
| 631 | }); |
| 632 | } |
| 633 | |
| 634 | export type ColumnsSelection = Record<string, unknown>; |
| 635 | |