---
about:
  description: Testing developer experiences around error messages and more recursive defaulting.
  android:
    package: com.example.app
    class: com.example.dx.DxNimbus
  ios:
    class: MyNimbus
    module: Megazord
channels:
  - testing
features:
  testFeature:
    description: A feature to exercise defaulting
    variables:
      a-string:
        description: A variable of type string
        type: String
        default: A string
      an-object:
        description: A variable of type TestObject
        type: TestObject
        default:
          name: Feature default
          optional-int: 5
          enum-map:
            alice: 11
      an-enum-map:
        description: A variable of type string
        type: Map<TestEnum, Int>
        default:
          alice: 11
          bob: 22
          charlie: 33
    defaults: []
objects:
  TestObject:
    description: A test object
    fields:
      name:
        description: The name of this object
        type: String
        default: Property default
      style:
        description: The style name of this object. The default is not overwritten
        type: String
        default: Not overwritten
      label:
        description: A text label
        type: Text
        default: dx_label
      optional-int:
        description: An optional value
        type: Option<Int>
        default: null
      enum-map:
        description: This should have every variant represented
        type: Map<TestEnum, Int>
        default:
          alice: 1
          bob: 2
          charlie: 3
enums:
  TestEnum:
    description: A test enum
    variants:
      alice:
        description: Test subject Alice
      bob:
        description: Test subject Bob
      charlie:
        description: Test subject Charlie
