(value: SystemContext, previous: Snapshot)
| 216 | |
| 217 | /** Reconciles current source values with one active generation. */ |
| 218 | export function reconcile(value: SystemContext, previous: Snapshot): Effect.Effect<ReconcileResult> { |
| 219 | return observe(value).pipe( |
| 220 | Effect.map((entries): ReconcileResult => { |
| 221 | const result = reconcileObservation(entries, previous) |
| 222 | if (result._tag === "Unchanged" || result._tag === "Updated") return result |
| 223 | return replaceObservation(entries, previous) |
| 224 | }), |
| 225 | ) |
| 226 | } |
| 227 | |
| 228 | function reconcileObservation( |
| 229 | entries: ReadonlyArray<Entry>, |
no test coverage detected