toICalString method

String toICalString()

Implementation

String toICalString() {
  final buffer = StringBuffer();

  buffer.writeln('BEGIN:VCALENDAR' '\r');

  if (prodId != null) {
    buffer.writeln('PRODID:$prodId' '\r');
  }

  buffer
      .writeln('X-PUBLISHED-TTL:${refreshInterval.name.toUpperCase()}' '\r');
  buffer.writeln(
      'REFRESH-INTERVAL;VALUE=DURATION:${refreshInterval.name.toUpperCase()}'
      '\r');

  if (properties != null) {
    for (final property in properties ?? []) {
      buffer.writeln('$property' '\r');
    }
  }

  if (events != null) {
    for (final event in events ?? []) {
      buffer.write(event.toICalString());
    }
  }

  buffer.writeln('END:VCALENDAR' '\r');

  return buffer.toString();
}