blob: 008c8b9f788490dba059b2e56f72e69f1e5aa23f [file] [log] [blame]
// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'digest.dart';
/// A sink used to get a digest value out of `Hash.startChunkedConversion`.
class DigestSink extends Sink<Digest> {
/// The value added to the sink.
///
/// A value must have been added using [add] before reading the `value`.
Digest get value => _value!;
Digest? _value;
/// Adds [value] to the sink.
///
/// Unlike most sinks, this may only be called once.
@override
void add(Digest value) {
assert(_value == null);
_value = value;
}
@override
void close() {
// Ensure late final field was assigned before closing.
assert(_value != null);
}
}