document method

APISchemaObject document(
  1. APIDocumentContext context
)

Implementation

APISchemaObject document(APIDocumentContext context) {
  final schemaProperties = <String?, APISchemaObject>{};
  final obj = APISchemaObject.object(
      schemaProperties as Map<String, APISchemaObject>?)
    ..title = "$name";

  final buffer = StringBuffer();
  if (uniquePropertySet != null) {
    final propString =
        uniquePropertySet!.map((s) => "'${s!.name}'").join(", ");
    buffer.writeln(
        "No two objects may have the same value for all of: $propString.");
  }

  obj.description = buffer.toString();

  properties.forEach((name, def) {
    if (def is ManagedAttributeDescription &&
        !def.isIncludedInDefaultResultSet &&
        !def.isTransient) {
      return;
    }

    final schemaProperty = def!.documentSchemaObject(context);
    schemaProperties[name] = schemaProperty;
  });

  return obj;
}