parseCached static method

List<FormatPart> parseCached(
  1. String input
)

Parses and caches format strings, which are often reused in tight loops.

Implementation

static List<FormatPart> parseCached(String input) {
  final cached = _parseCache.remove(input);
  if (cached != null) {
    _parseCache[input] = cached;
    return cached;
  }

  final parsed = List<FormatPart>.unmodifiable(parse(input));
  _parseCache[input] = parsed;
  if (_parseCache.length > _cacheSize) {
    _parseCache.remove(_parseCache.keys.first);
  }
  return parsed;
}