Typed community directory
Create a typed directory of fictional resources with a safe loading, ready and empty display state. Keep record fields explicit and do not use `any` to bypass a type check.
Requirements
- Define a resource interface.
- Represent view states with a discriminated union.
- Handle an empty result without reading unavailable fields.
Expected behaviours
- The example runs in the platform runtime without an external package.
- The output communicates the stated purpose using fictional sample data.
- The learner can describe one limitation and one next improvement.