build method

HiPlugin build()

Builds the HiPlugin for installation.

Implementation

HiPlugin build() {
  final hooks = <dynamic>[];
  final conditions = [condition];

  if (enableCleanup) {
    hooks.add(ttlCleanupHook(
      uid: 'ttl:cleanup',
      events: readEvents,
      condition: condition,
    ));
  }

  if (enableStamp) {
    hooks.add(ttlStampHook(
      uid: 'ttl:stamp',
      events: writeEvents,
      metaKey: metaKey,
      createdAtKey: createdAtKey,
      nowProvider: nowProvider,
    ));
  }

  return HiPlugin(
    name: 'ttl',
    version: '1.0.0',
    description: 'Time-To-Live expiration management',
    hooks: hooks.cast(),
    conditions: conditions,
  );
}