fromText static method

Id? fromText(
  1. String text
)

Creates an ID from the given text

Implementation

static Id? fromText(String text) {
  if (text == 'NIL' || !text.startsWith('(')) {
    return null;
  }
  final entries = ParserHelper.parseListEntries(text, 1, ')', ' ') ?? [];
  final map = <String, String>{};
  for (var i = 0; i < entries.length - 1; i += 2) {
    final name = _stripQuotes(entries[i]).toLowerCase();
    final value = _stripQuotes(entries[i + 1]);
    map[name] = value;
  }

  return Id(
    name: map.remove('name'),
    version: map.remove('version'),
    os: map.remove('os'),
    osVersion: map.remove('os-version'),
    vendor: map.remove('vendor'),
    supportUrl: map.remove('support-url'),
    address: map.remove('address'),
    date: _parseDate(map.remove('date')),
    command: map.remove('command'),
    arguments: map.remove('arguments'),
    environment: map.remove('environment'),
    nonStandardFields: map,
  );
}