Skip to content

Commit

Permalink
fixi
Browse files Browse the repository at this point in the history
  • Loading branch information
maximilianMairinger committed Oct 22, 2024
1 parent 0529c4a commit 65b8d82
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions app/src/helper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@ import { ReadonlyData, Data, instanceTypeSym, DataSubscription } from "./josm"

type DataChain<T> = ReadonlyData<T> | ReadonlyData<ReadonlyData<T>> | ReadonlyData<ReadonlyData<ReadonlyData<T>>> | ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<T>>>> | ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<T>>>>> | ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<T>>>>>> | ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<T>>>>>>> | ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<T>>>>>>>> | ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<T>>>>>>>>> | ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<T>>>>>>>>>> | ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<ReadonlyData<T>>>>>>>>>>>

export function flattenNestedData<T>(data: DataChain<T>, subs: DataSubscription<any>[]) {


export function flattenNestedData<T>(data: DataChain<T>) {
return _flattenNestedData(data, [])
}

function _flattenNestedData<T>(data: DataChain<T>, subs: DataSubscription<any>[]) {
const out = new Data<T>()
const mySubIndex = subs.length+1
let innerSub: DataSubscription<any>
Expand All @@ -23,7 +25,7 @@ export function flattenNestedData<T>(data: DataChain<T>, subs: DataSubscription<
for (let i = mySubIndex; i < subs.length; i++) subs[i].deactivate()
subs.length = mySubIndex
if (innerSub) innerSub.deactivate()
innerSub = flattenNestedData(innerData as any, subs).get((innerPlain) => {
innerSub = _flattenNestedData(innerData as any, subs).get((innerPlain) => {
out.set(innerPlain as any)
})
}
Expand Down

0 comments on commit 65b8d82

Please sign in to comment.