(config: ShardingConfig["Type"])
| 305 | * @category Shard groups |
| 306 | */ |
| 307 | export const shardGroupConfig = (config: ShardingConfig["Type"]): { |
| 308 | readonly available: ReadonlySet<string> |
| 309 | readonly assigned: ReadonlySet<string> |
| 310 | } => { |
| 311 | const available = new Set(config.availableShardGroups.slice().sort()) |
| 312 | const assigned = new Set<string>() |
| 313 | available.forEach((group) => { |
| 314 | if (config.assignedShardGroups.includes(group)) { |
| 315 | assigned.add(group) |
| 316 | } |
| 317 | }) |
| 318 | return { available, assigned } |
| 319 | } |