OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library crypto.digest_sink; | |
6 | |
7 import 'digest.dart'; | 5 import 'digest.dart'; |
8 | 6 |
9 /// A sink used to get a digest value out of [Hash.startChunkedConversion]. | 7 /// A sink used to get a digest value out of [Hash.startChunkedConversion]. |
10 class DigestSink extends Sink<Digest> { | 8 class DigestSink extends Sink<Digest> { |
11 /// The value added to the sink, if any. | 9 /// The value added to the sink, if any. |
12 Digest get value { | 10 Digest get value { |
13 assert(_value != null); | 11 assert(_value != null); |
14 return _value; | 12 return _value; |
15 } | 13 } |
16 Digest _value; | 14 Digest _value; |
17 | 15 |
18 /// Adds [value] to the sink. | 16 /// Adds [value] to the sink. |
19 /// | 17 /// |
20 /// Unlike most sinks, this may only be called once. | 18 /// Unlike most sinks, this may only be called once. |
21 void add(Digest value) { | 19 void add(Digest value) { |
22 assert(_value == null); | 20 assert(_value == null); |
23 _value = value; | 21 _value = value; |
24 } | 22 } |
25 | 23 |
26 void close() { | 24 void close() { |
27 assert(_value != null); | 25 assert(_value != null); |
28 } | 26 } |
29 } | 27 } |
OLD | NEW |