@radixdlt/atom
Version:
Container for CRUD instructions known as 'Particles' that are sent to the Radix decentralized ledger
19 lines (16 loc) • 578 B
text/typescript
import { ParticleGroupT, ParticleGroups } from './_types'
import { AnySpunParticle } from './particles/_types'
import { spunParticlesQueryable } from './particles/spunParticleQueryable'
export const particleGroups = (groups: ParticleGroupT[]): ParticleGroups => {
const particleMatrix: AnySpunParticle[][] = groups.map(
(g) => g.spunParticles.spunParticles,
)
const spunParticles: AnySpunParticle[] = particleMatrix.reduce(
(accumulator, value) => accumulator.concat(value),
[],
)
return <ParticleGroups>{
groups,
...spunParticlesQueryable(spunParticles),
}
}