* Processes a single row to generate select results
( [key, namespacedRow]: [unknown, NamespacedRow], ops: Array<SelectOp>, )
| 124 | * Processes a single row to generate select results |
| 125 | */ |
| 126 | function processRow( |
| 127 | [key, namespacedRow]: [unknown, NamespacedRow], |
| 128 | ops: Array<SelectOp>, |
| 129 | ): [unknown, typeof namespacedRow & { $selected: any }] { |
| 130 | const selectResults: Record<string, any> = {} |
| 131 | |
| 132 | for (const op of ops) { |
| 133 | if (op.kind === `merge`) { |
| 134 | processMerge(op, namespacedRow, selectResults) |
| 135 | } else { |
| 136 | processNonMergeOp(op, namespacedRow, selectResults) |
| 137 | } |
| 138 | } |
| 139 | |
| 140 | // Return the namespaced row with $selected added |
| 141 | return [ |
| 142 | key, |
| 143 | { |
| 144 | ...namespacedRow, |
| 145 | $selected: selectResults, |
| 146 | }, |
| 147 | ] as [unknown, typeof namespacedRow & { $selected: typeof selectResults }] |
| 148 | } |
| 149 | |
| 150 | /** |
| 151 | * Processes the SELECT clause and places results in $selected |
no test coverage detected