create static method

Future<CompactCache> create(
  1. String basePath
)

Implementation

static Future<CompactCache> create(String basePath) async {
  final dir = Directory(basePath);
  if (!dir.existsSync()) {
    dir.createSync(recursive: true);
  }

  final file = File('$basePath/cache.aqua');
  RandomAccessFile writer;
  int writePos = 0;

  if (file.existsSync()) {
    writePos = file.lengthSync();
    writer = file.openSync(mode: FileMode.append);
  } else {
    writer = file.openSync(mode: FileMode.write);
  }

  final cache = CompactCache._(file, writer, writePos);

  if (writePos > 0) {
    cache._rebuildIndex();
  }

  return cache;
}